﻿/* Canonical Ecosystem, Services, and Solutions main-page hero system. */
:root{--ac-main-hero-container:min(100% - 48px,1440px);--ac-main-hero-header:96px;--ac-main-hero-orange:#f05d2d}
:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion){position:relative!important;isolation:isolate!important;display:block!important;width:100%!important;max-width:none!important;min-height:100vh!important;height:auto!important;margin:0!important;padding:var(--ac-main-hero-header) 0 0!important;overflow:hidden!important;border:0!important;background:#050506!important}
:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion)>.hero__media{position:absolute!important;inset:0!important;z-index:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:.78!important;visibility:visible!important;filter:saturate(.9) contrast(1.05) brightness(.78)!important;pointer-events:none!important}
:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion)>.hero__overlay{position:absolute!important;inset:0!important;z-index:2!important;display:block!important;opacity:1!important;visibility:visible!important;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.5) 48%,rgba(0,0,0,.38) 100%),rgba(0,0,0,.4)!important;pointer-events:none!important}
.hero--ecosystem-service>.ac-particles-background{z-index:1!important}
.services-accordion-hero__inner,.hero--ecosystem-service>.hero__content,.hero--ecosystem-service>.hero__content--left{position:relative!important;z-index:3!important;width:var(--ac-main-hero-container)!important;max-width:var(--ac-main-hero-container)!important;min-height:calc(100vh - var(--ac-main-hero-header))!important;margin:0 auto!important;padding:clamp(80px,9vh,120px) 0!important}
.services-accordion-hero__inner{display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;align-items:center!important;gap:clamp(40px,5vw,86px)!important}
.hero--ecosystem-service>.hero__content,.hero--ecosystem-service>.hero__content--left{display:flex!important;flex-direction:column!important;justify-content:center!important;top:auto!important;left:auto!important;height:auto!important;transform:none!important;text-align:left!important}
.services-accordion-hero__copy,.hero--ecosystem-service>.hero__content{max-width:768px!important}
:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) :is(.hero__label,.hero__title,.hero__subline,.hero__actions){position:static!important;width:auto!important;margin-left:0!important;margin-right:0!important;text-align:left!important;transform:none!important;opacity:1!important;visibility:visible!important}
:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) .hero__label{margin:0 0 18px!important;color:var(--ac-main-hero-orange)!important;font-size:12px!important;font-weight:600!important;line-height:1.25!important;letter-spacing:.1em!important;text-transform:uppercase!important}
:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) .hero__title{max-width:900px!important;margin:0!important;color:#fff!important;font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Arial,Helvetica,sans-serif!important;font-size:clamp(41px,5.2vw,54px)!important;font-weight:800!important;line-height:.98!important;letter-spacing:-.045em!important;text-wrap:balance!important}
:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) .hero__title::after{content:none!important;display:none!important}
:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) .hero__subline{max-width:576px!important;margin:22px 0 0!important;color:rgba(255,255,255,.72)!important;font-size:clamp(16px,1.2vw,18px)!important;font-weight:400!important;line-height:1.7!important;letter-spacing:0!important}
:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) .hero__actions{display:flex!important;flex-wrap:wrap!important;gap:14px!important;margin-top:30px!important}
:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) .hero__button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:52px!important;height:52px!important;padding:0 24px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:8px!important;background:rgba(255,255,255,.1)!important;box-shadow:none!important;color:#fff!important;font-size:12px!important;font-weight:700!important;line-height:1!important;letter-spacing:.08em!important;text-transform:uppercase!important;transition:background-color 300ms ease,border-color 300ms ease,transform 300ms ease!important}
:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) .hero__button:hover{border-color:rgba(255,255,255,.32)!important;background:rgba(255,255,255,.2)!important;transform:translateY(-2px)!important}
:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) .hero__button--secondary{background:transparent!important}
:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) .hero__button--secondary:hover{background:rgba(255,255,255,.1)!important}
@media(max-width:900px){:root{--ac-main-hero-header:88px}.services-accordion-hero__inner{grid-template-columns:1fr!important;min-height:auto!important;padding:76px 0 72px!important}}
@media(max-width:640px){:root{--ac-main-hero-container:calc(100% - 28px);--ac-main-hero-header:76px}:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion){min-height:100svh!important}.services-accordion-hero__inner,.hero--ecosystem-service>.hero__content,.hero--ecosystem-service>.hero__content--left{min-height:calc(100svh - var(--ac-main-hero-header))!important;padding:58px 0 64px!important}:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) .hero__title{font-size:clamp(34px,9.35vw,41px)!important;line-height:.98!important;letter-spacing:-.045em!important}:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) .hero__actions,:is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) .hero__button{width:100%!important}}

/* Final specificity lock against legacy page-level hero rules. */
html body.ac-page :is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) :is(.services-accordion-hero__copy,.hero__content) .hero__label{margin:0 0 18px!important;color:#f05d2d!important;font-size:12px!important;font-weight:600!important;line-height:1.25!important;letter-spacing:.1em!important;text-transform:uppercase!important}
html body.ac-page :is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) :is(.services-accordion-hero__copy,.hero__content) .hero__title{max-width:900px!important;margin:0!important;color:#fff!important;font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Arial,Helvetica,sans-serif!important;font-size:clamp(41px,5.2vw,54px)!important;font-weight:800!important;line-height:.98!important;letter-spacing:-.045em!important;text-wrap:balance!important}
html body.ac-page :is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) :is(.services-accordion-hero__copy,.hero__content) .hero__title::after{content:none!important;display:none!important}
html body.ac-page :is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) :is(.services-accordion-hero__copy,.hero__content) .hero__subline{max-width:576px!important;margin:22px 0 0!important;color:rgba(255,255,255,.72)!important;font-size:clamp(16px,1.2vw,18px)!important;font-weight:400!important;line-height:1.7!important;letter-spacing:0!important}
html body.ac-page :is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) :is(.services-accordion-hero__copy,.hero__content) .hero__actions{display:flex!important;flex-wrap:wrap!important;gap:14px!important;margin-top:30px!important}
html body.ac-page :is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) :is(.services-accordion-hero__copy,.hero__content) .hero__button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:52px!important;height:52px!important;padding:0 24px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:8px!important;background:rgba(255,255,255,.1)!important;box-shadow:none!important;color:#fff!important;font-size:12px!important;font-weight:700!important;line-height:1!important;letter-spacing:.08em!important;text-transform:uppercase!important}
html body.ac-page :is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) :is(.services-accordion-hero__copy,.hero__content) .hero__button--secondary{background:transparent!important}
html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper{height:auto!important;min-height:100vh!important;padding:96px 0 0!important}
html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper>.hero__overlay{z-index:10!important;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.5) 48%,rgba(0,0,0,.38) 100%),rgba(0,0,0,.4)!important}
html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper>.hero__content,html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper>.hero__content--left{position:relative!important;z-index:20!important;display:flex!important;flex-direction:column!important;justify-content:center!important;top:auto!important;left:auto!important;width:var(--ac-main-hero-container)!important;max-width:var(--ac-main-hero-container)!important;min-height:calc(100vh - 96px)!important;height:auto!important;margin:0 auto!important;padding:clamp(80px,9vh,120px) 0!important;transform:none!important}
html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper>.hero__content,html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper>.hero__content--left{align-items:flex-start!important;justify-content:center!important;text-align:left!important}
html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper>.hero__content>*{align-self:flex-start!important;text-align:left!important}
html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper>.hero__content>.hero__actions{justify-content:flex-start!important}
@media(max-width:900px){html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper{padding-top:88px!important}html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper>.hero__content,html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper>.hero__content--left{width:var(--ac-main-hero-container)!important;max-width:var(--ac-main-hero-container)!important;min-height:calc(100vh - 88px)!important}}
@media(max-width:640px){html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper{padding-top:76px!important}html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper>.hero__content,html body.ac-page.ac-ecosystem-review.ac-clean-ecosystem .hero.hero--home.hero--ecosystem-service.ac-section-wrapper>.hero__content--left{width:var(--ac-main-hero-container)!important;max-width:var(--ac-main-hero-container)!important;min-height:calc(100svh - 76px)!important;padding:58px 0 64px!important}html body.ac-page :is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) :is(.services-accordion-hero__copy,.hero__content) .hero__title{font-size:clamp(34px,9.35vw,41px)!important;line-height:.98!important;letter-spacing:-.045em!important}html body.ac-page :is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) :is(.services-accordion-hero__copy,.hero__content) .hero__actions,html body.ac-page :is(.hero--ecosystem-service,.hero--services-accordion,.hero--solutions-accordion) :is(.services-accordion-hero__copy,.hero__content) .hero__button{width:100%!important}}

/* Global Ecosystem master tokens for every remaining HERO family. */
html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ac-master-hero,.ap-page-hero,.ap-full-bleed-hero){
  position:relative!important;
  isolation:isolate!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  height:auto!important;
  margin:0!important;
  padding:96px 0 0!important;
  overflow:hidden!important;
  border:0!important;
  background:#0a0a0a!important;
  color:#fff!important;
}

html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__media,.ac-service-hero-media,video,img.ap-reference-hero-media){
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:.72!important;
  visibility:visible!important;
  filter:saturate(.9) contrast(1.06) brightness(.78)!important;
  pointer-events:none!important;
}

html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__overlay,.ac-service-hero-overlay){
  position:absolute!important;
  inset:0!important;
  z-index:10!important;
  display:block!important;
  background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.5) 48%,rgba(0,0,0,.38) 100%),rgba(0,0,0,.4)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
}

html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__content,.hero__content--left,.ac-service-hero-content,.ap-hero-grid,.hero-inner,.robo-v51-container){
  position:relative!important;
  z-index:20!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  top:auto!important;
  left:auto!important;
  width:var(--ac-main-hero-container)!important;
  max-width:var(--ac-main-hero-container)!important;
  min-height:calc(100vh - 96px)!important;
  height:auto!important;
  margin:0 auto!important;
  padding:clamp(80px,9vh,120px) 0!important;
  transform:none!important;
  text-align:left!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__content,.ac-service-hero-content,.ap-hero-copy,.hero-content,.robo-v51-copy)>*{
  align-self:flex-start!important;
  text-align:left!important;
}

html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__label,.ac-service-eyebrow,.ap-kicker,.eyebrow,.hero-kicker){
  display:block!important;
  width:auto!important;
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#f05d2d!important;
  font-family:Manrope,Inter,system-ui,sans-serif!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.25!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}

html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__title,.ac-service-hero-content h1,.ap-hero-copy h1,.hero-content h1,.robo-v51-copy h1,h1){
  max-width:900px!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Arial,Helvetica,sans-serif!important;
  font-size:clamp(41px,5.2vw,54px)!important;
  font-weight:800!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  text-align:left!important;
  text-wrap:balance!important;
}

html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__title,.ac-service-hero-content h1,h1)::after{
  content:none!important;
  display:none!important;
}

html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__subline,.ac-service-hero-content>p:not(.ac-service-eyebrow),.ap-lead,.ap-hero-copy>p:not(.ap-kicker),.hero-content>p:not(.eyebrow):not(.hero-kicker),.robo-v51-copy>p:not(.ap-kicker)){
  max-width:576px!important;
  margin:22px 0 0!important;
  padding:0!important;
  color:rgba(255,255,255,.72)!important;
  font-family:Manrope,Inter,system-ui,sans-serif!important;
  font-size:clamp(16px,1.2vw,18px)!important;
  font-weight:400!important;
  line-height:1.7!important;
  letter-spacing:0!important;
  text-align:left!important;
}

html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__actions,.ac-service-button-row,.ap-hero-actions,.hero-actions,.robo-v51-actions,.ac-agent-actions){
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  margin:30px 0 0!important;
  padding:0!important;
}

html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__button,.ac-service-btn,.ap-btn,.btn,.hero-actions a,.robo-v51-actions a,.ac-agent-btn){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:52px!important;
  height:52px!important;
  padding:0 24px!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.1)!important;
  box-shadow:none!important;
  color:#fff!important;
  font-family:Manrope,Inter,system-ui,sans-serif!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  transition:background-color 300ms ease,border-color 300ms ease,transform 300ms ease!important;
}

html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__button,.ac-service-btn,.ap-btn,.btn,.hero-actions a,.robo-v51-actions a,.ac-agent-btn):hover{
  border-color:rgba(255,255,255,.32)!important;
  background:rgba(255,255,255,.2)!important;
  color:#fff!important;
  transform:translateY(-2px)!important;
}

html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__button--secondary,.ac-service-btn-secondary,.ap-btn-ghost,.btn-secondary){
  background:transparent!important;
}

/* Legacy master heroes retain their decorative canvas while adopting the same text grid. */
html body .ac-master-hero>.ac-master-hero-inner{
  position:relative!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  width:var(--ac-main-hero-container)!important;
  max-width:var(--ac-main-hero-container)!important;
  min-height:calc(100vh - 96px)!important;
  margin:0 auto!important;
  padding:clamp(80px,9vh,120px) 0!important;
}
html body .ac-master-hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:10!important;
  display:block!important;
  background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.5) 48%,rgba(0,0,0,.38) 100%),rgba(0,0,0,.4)!important;
  pointer-events:none!important;
}
html body .ac-master-hero :is(.ac-agent-copy,.ac-agent-copy-inner){display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;max-width:768px!important;text-align:left!important}
html body .ac-master-hero .ac-agent-eyebrow{margin:0 0 18px!important;color:#f05d2d!important;font-size:12px!important;font-weight:600!important;line-height:1.25!important;letter-spacing:.1em!important;text-transform:uppercase!important}
html body .ac-master-hero .ac-agent-title{max-width:768px!important;margin:0!important;color:#fff!important;font-family:Manrope,Inter,system-ui,sans-serif!important;font-size:clamp(40px,4.3vw,60px)!important;font-weight:700!important;line-height:1.05!important;letter-spacing:-.04em!important;text-align:left!important}
html body .ac-master-hero .ac-agent-sub{max-width:576px!important;margin:22px 0 0!important;color:rgba(255,255,255,.72)!important;font-size:clamp(16px,1.2vw,18px)!important;font-weight:400!important;line-height:1.7!important;text-align:left!important}

@media(max-width:900px){
  html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ac-master-hero,.ap-page-hero,.ap-full-bleed-hero){padding-top:88px!important}
  html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__content,.hero__content--left,.ac-service-hero-content,.ap-hero-grid,.hero-inner,.robo-v51-container),html body .ac-master-hero>.ac-master-hero-inner{min-height:calc(100vh - 88px)!important}
}
@media(max-width:640px){
  html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ac-master-hero,.ap-page-hero,.ap-full-bleed-hero){min-height:100svh!important;padding-top:76px!important}
  html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero) :is(.hero__content,.hero__content--left,.ac-service-hero-content,.ap-hero-grid,.hero-inner,.robo-v51-container),html body .ac-master-hero>.ac-master-hero-inner{width:calc(100% - 28px)!important;max-width:calc(100% - 28px)!important;min-height:calc(100svh - 76px)!important;padding:58px 0 64px!important}
  html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero,.ac-master-hero) :is(.hero__title,.ac-service-hero-content h1,.ac-agent-title,h1){font-size:clamp(34px,9.35vw,41px)!important;line-height:.98!important;letter-spacing:-.045em!important}
  html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero,.ac-master-hero) :is(.hero__actions,.ac-service-button-row,.ap-hero-actions,.hero-actions,.robo-v51-actions,.ac-agent-actions),html body :is(.hero:not(.hero--services-accordion):not(.hero--solutions-accordion),.ac-service-hero,.ap-page-hero,.ap-full-bleed-hero,.ac-master-hero) :is(.hero__button,.ac-service-btn,.ap-btn,.btn,.hero-actions a,.robo-v51-actions a,.ac-agent-btn){width:100%!important}
}

/* Canonical Services HERO: video, optional particles, overlay, then content. */
html body.ac-page.ac-services-master .hero--services-accordion {
  position: relative !important;
  isolation: isolate !important;
  min-height: 100vh !important;
  overflow: hidden !important;
  background: #050506 !important;
  background-image: none !important;
}
html body.ac-page.ac-services-master .hero--services-accordion > .hero__media {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: .78 !important;
  filter: saturate(.9) contrast(1.05) brightness(.78) !important;
}
html body.ac-page.ac-services-master .hero--services-accordion > .ac-particles-background {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  opacity: .82 !important;
  mix-blend-mode: screen !important;
  pointer-events: none !important;
}
html body.ac-page.ac-services-master .hero--services-accordion > .hero__overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  opacity: 1 !important;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.78) 0%,
      rgba(0,0,0,.5) 48%,
      rgba(0,0,0,.38) 100%),
    rgba(0,0,0,.4) !important;
  pointer-events: none !important;
}
html body.ac-page.ac-services-master .hero--services-accordion > .services-accordion-hero__inner {
  position: relative !important;
  z-index: 3 !important;
  width: min(100% - 48px, 1440px) !important;
  max-width: min(100% - 48px, 1440px) !important;
  min-height: calc(100vh - 96px) !important;
  margin: 0 auto !important;
  padding: clamp(80px, 9vh, 120px) 0 !important;
}
html body.ac-page.ac-services-master .hero--services-accordion .hero__content.hero__content--left,
html body.ac-page.ac-services-master .hero--services-accordion .services-accordion {
  position: relative !important;
  z-index: 3 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}
html body.ac-page.ac-services-master .hero--services-accordion .hero__content.hero__content--left {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: auto !important;
  max-width: 768px !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  text-align: left !important;
  transform: none !important;
}
@media(max-width:640px){
  html body.ac-page.ac-services-master .hero--services-accordion > .services-accordion-hero__inner {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    min-height: calc(100svh - 76px) !important;
  }
}

/*
FIX: SERVICES HERO TEXT NOT VISIBLE

- Forced HERO content to z-index:3 (top layer)
- Removed blend modes, opacity, and filters hiding text
- Ensured overlay is z-index:2 and video is z-index:0
- Services HERO now matches Ecosystem HERO layer order
*/
.hero--services-accordion .hero__content.hero__content--left {
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: auto !important;
  max-width: 768px !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: #FFFFFF !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  transform: none !important;
  translate: none !important;
  clip-path: none !important;
  mask: none !important;
}

.hero--services-accordion .hero__content.hero__content--left > * {
  position: relative !important;
  z-index: 3 !important;
  display: revert !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: inherit;
  mix-blend-mode: normal !important;
  filter: none !important;
  transform: none !important;
  translate: none !important;
  clip-path: none !important;
  mask: none !important;
}

.hero--services-accordion .hero__content.hero__content--left > .hero__label {
  display: block !important;
  color: #F05D2D !important;
}

.hero--services-accordion .hero__content.hero__content--left > .hero__subline {
  display: block !important;
  color: rgba(255,255,255,.72) !important;
}

.hero--services-accordion .hero__content.hero__content--left > .hero__actions {
  display: flex !important;
}

.hero--services-accordion > .services-accordion-hero__inner {
  position: relative !important;
  z-index: 3 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  transform: none !important;
  clip-path: none !important;
}

.hero--services-accordion > .hero__overlay {
  z-index: 2 !important;
}

.hero--services-accordion > video.hero__media {
  z-index: 0 !important;
}

/*
GLOBAL HERO FIX — TEXT MUST ALWAYS BE ON TOP

- Forced all HERO content containers to z-index:3
- Ensured overlay is z-index:2 and video is z-index:0
- Removed blend modes, opacity, and filters that hide text
- Applied consistent visibility and color tokens
- This guarantees HERO text is always visible and never behind the video/overlay
*/
.hero__content,
.hero__content--left,
.hero__content--center,
.hero__content--right {
  position: relative !important;
  z-index: 3 !important;
  opacity: 1 !important;
  color: #FFFFFF !important;
  mix-blend-mode: normal !important;
  visibility: visible !important;
  filter: none !important;
}

.hero__overlay {
  z-index: 2 !important;
}

video.hero__media {
  z-index: 0 !important;
}

:is(.hero__content, .hero__content--left, .hero__content--center, .hero__content--right)
:is(.hero__label, .hero__title, .hero__subline, .hero__actions) {
  opacity: 1 !important;
  visibility: visible !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

/*
GLOBAL HERO CTA ALIGNMENT — MATCH ECOSYSTEM HERO

- Updated all HERO buttons to use the Ecosystem two-button system
- Applied exact CTA dimensions, padding, border, radius, and hover effects
- Standardized left alignment and spacing across all HERO sections
- Removed legacy button styles and inconsistent spacing
- Ensured all HERO CTAs now match the Ecosystem HERO design 100%
*/
:is(
  .hero__actions,
  .ac-service-button-row,
  .ap-hero-actions,
  .hero-actions,
  .robo-v51-actions,
  .ac-agent-actions
) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  width: auto !important;
  gap: 14px !important;
  margin: 30px 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

:is(
  .hero__actions,
  .ac-service-button-row,
  .ap-hero-actions,
  .hero-actions,
  .robo-v51-actions,
  .ac-agent-actions
) > :is(a, button) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .1) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: Manrope, Inter, system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transform: none !important;
  transition:
    background-color 300ms ease,
    border-color 300ms ease,
    transform 300ms ease !important;
}

:is(
  .hero__actions,
  .ac-service-button-row,
  .ap-hero-actions,
  .hero-actions,
  .robo-v51-actions,
  .ac-agent-actions
) > :is(a, button):first-child:hover {
  border-color: rgba(255, 255, 255, .32) !important;
  background: rgba(255, 255, 255, .2) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

:is(
  .hero__actions,
  .ac-service-button-row,
  .ap-hero-actions,
  .hero-actions,
  .robo-v51-actions,
  .ac-agent-actions
) > :is(a, button):nth-child(2) {
  background: transparent !important;
}

:is(
  .hero__actions,
  .ac-service-button-row,
  .ap-hero-actions,
  .hero-actions,
  .robo-v51-actions,
  .ac-agent-actions
) > :is(a, button):nth-child(2):hover {
  border-color: rgba(255, 255, 255, .32) !important;
  background: rgba(255, 255, 255, .1) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 640px) {
  :is(
    .hero__actions,
    .ac-service-button-row,
    .ap-hero-actions,
    .hero-actions,
    .robo-v51-actions,
    .ac-agent-actions
  ) {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  :is(
    .hero__actions,
    .ac-service-button-row,
    .ap-hero-actions,
    .hero-actions,
    .robo-v51-actions,
    .ac-agent-actions
  ) > :is(a, button) {
    width: 100% !important;
  }
}

html body.ac-page.ac-services-master .hero--services-accordion #servicesHeroTitle {
  max-width: 900px !important;
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size: clamp(41px, 5.2vw, 54px) !important;
  font-weight: 800 !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  text-transform: none !important;
  text-wrap: balance !important;
}

html body.ac-page.ac-services-master .hero--services-accordion .hero__label {
  display: block !important;
  margin: 0 0 22px !important;
  color: #F05D2D !important;
  font: 800 14px/1.2 Inter, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Arial, Helvetica, sans-serif !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

html body.ac-page.ac-services-master .hero--services-accordion .hero__subline {
  max-width: 576px !important;
  margin: 16px 0 0 !important;
  color: rgba(255, 255, 255, .82) !important;
  font-size: clamp(16px, 1.2vw, 18px) !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

html body.ac-page.ac-services-master .hero--services-accordion .hero__actions {
  margin-top: 28px !important;
}

html body.ac-page.ac-services-master .hero--services-accordion .hero__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
  height: 54px !important;
  padding: 0 24px !important;
  border-radius: 8px !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  transition: background-color 300ms ease, border-color 300ms ease, color 300ms ease, transform 300ms ease !important;
}

html body.ac-page.ac-services-master .hero--services-accordion .hero__button--primary {
  border: 1px solid #F05D2D !important;
  background: #F05D2D !important;
  color: #fff !important;
  box-shadow: 0 18px 42px rgba(240, 93, 45, .22) !important;
}

html body.ac-page.ac-services-master .hero--services-accordion .hero__button--primary:hover {
  border-color: #D96A1C !important;
  background: #D96A1C !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

html body.ac-page.ac-services-master .hero--services-accordion .hero__button--secondary {
  border: 1px solid rgba(255, 255, 255, .88) !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
}

html body.ac-page.ac-services-master .hero--services-accordion .hero__button--secondary:hover {
  border-color: #fff !important;
  background: #fff !important;
  color: #000 !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 640px) {
  html body.ac-page.ac-services-master .hero--services-accordion #servicesHeroTitle {
    font-size: clamp(34px, 9.35vw, 41px) !important;
  }
}

/*
SERVICES HERO UPDATE — MATCH ECOSYSTEM HERO 100%

- Applied exact Ecosystem HERO typography to “Services”
- Synced subtitle, spacing, alignment, and container width
- Replaced old CTA buttons with Ecosystem two-button system
- Applied Ecosystem hover, border, radius, and spacing tokens
- Removed all legacy Services HERO styles
- Services HERO now matches Ecosystem HERO design exactly
*/

/*
GLOBAL HERO CTA LOCK - MATCH ECOSYSTEM HERO BUTTON SYSTEM

- Final hero-specific override for pages that import ac-hero-unified.css after site CSS
- Standardizes Ecosystem, Services, Solutions, and legacy hero action classes
- Keeps the primary orange button and transparent secondary button consistent everywhere
*/
html body.ac-page main :is(.hero, .ac-service-hero, .ac-master-hero, .ap-page-hero, .ap-full-bleed-hero) :is(.hero__actions, .ac-service-button-row, .ap-hero-actions, .hero-actions, .robo-v51-hero-actions, .ac-agent-actions) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  margin-top: 30px !important;
}

html body.ac-page main :is(.hero, .ac-service-hero, .ac-master-hero, .ap-page-hero, .ap-full-bleed-hero) :is(.hero__button, .ac-service-btn, .ap-btn, .btn, .ac-agent-btn, .hero-actions a, .ap-hero-actions a, .robo-v51-hero-actions a, .ac-agent-actions a) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 24px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  background: rgba(255, 255, 255, .1) !important;
  color: #FFFFFF !important;
  font-family: Manrope, Inter, system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: transform 300ms ease, background-color 300ms ease, border-color 300ms ease, color 300ms ease, box-shadow 300ms ease !important;
}

html body.ac-page main :is(.hero, .ac-service-hero, .ac-master-hero, .ap-page-hero, .ap-full-bleed-hero) :is(.hero__button--primary, .ac-service-btn-primary, .ap-btn-primary, .btn-primary, .ac-agent-btn-primary),
html body.ac-page main :is(.hero, .ac-service-hero, .ac-master-hero, .ap-page-hero, .ap-full-bleed-hero) :is(.hero__actions, .ac-service-button-row, .ap-hero-actions, .hero-actions, .robo-v51-hero-actions, .ac-agent-actions) > :is(a, button):first-child {
  border-color: #F05D2D !important;
  background: #F05D2D !important;
  color: #FFFFFF !important;
  box-shadow: 0 18px 42px rgba(240, 93, 45, .22) !important;
}

html body.ac-page main :is(.hero, .ac-service-hero, .ac-master-hero, .ap-page-hero, .ap-full-bleed-hero) :is(.hero__button--secondary, .ac-service-btn-secondary, .ap-btn-ghost, .ap-btn-secondary, .btn-secondary, .ac-agent-btn-secondary),
html body.ac-page main :is(.hero, .ac-service-hero, .ac-master-hero, .ap-page-hero, .ap-full-bleed-hero) :is(.hero__actions, .ac-service-button-row, .ap-hero-actions, .hero-actions, .robo-v51-hero-actions, .ac-agent-actions) > :is(a, button):not(:first-child) {
  border-color: rgba(255, 255, 255, .2) !important;
  background: transparent !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}

html body.ac-page main :is(.hero, .ac-service-hero, .ac-master-hero, .ap-page-hero, .ap-full-bleed-hero) :is(.hero__button, .ac-service-btn, .ap-btn, .btn, .ac-agent-btn, .hero-actions a, .ap-hero-actions a, .robo-v51-hero-actions a, .ac-agent-actions a):hover {
  transform: translateY(-2px) !important;
}

html body.ac-page main :is(.hero, .ac-service-hero, .ac-master-hero, .ap-page-hero, .ap-full-bleed-hero) :is(.hero__button--primary, .ac-service-btn-primary, .ap-btn-primary, .btn-primary, .ac-agent-btn-primary):hover,
html body.ac-page main :is(.hero, .ac-service-hero, .ac-master-hero, .ap-page-hero, .ap-full-bleed-hero) :is(.hero__actions, .ac-service-button-row, .ap-hero-actions, .hero-actions, .robo-v51-hero-actions, .ac-agent-actions) > :is(a, button):first-child:hover {
  border-color: #D96A1C !important;
  background: #D96A1C !important;
  color: #FFFFFF !important;
  box-shadow: 0 22px 52px rgba(240, 93, 45, .28) !important;
}

html body.ac-page main :is(.hero, .ac-service-hero, .ac-master-hero, .ap-page-hero, .ap-full-bleed-hero) :is(.hero__button--secondary, .ac-service-btn-secondary, .ap-btn-ghost, .ap-btn-secondary, .btn-secondary, .ac-agent-btn-secondary):hover,
html body.ac-page main :is(.hero, .ac-service-hero, .ac-master-hero, .ap-page-hero, .ap-full-bleed-hero) :is(.hero__actions, .ac-service-button-row, .ap-hero-actions, .hero-actions, .robo-v51-hero-actions, .ac-agent-actions) > :is(a, button):not(:first-child):hover {
  border-color: rgba(255, 255, 255, .32) !important;
  background: rgba(255, 255, 255, .1) !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}

@media (max-width: 640px) {
  html body.ac-page main :is(.hero, .ac-service-hero, .ac-master-hero, .ap-page-hero, .ap-full-bleed-hero) :is(.hero__actions, .ac-service-button-row, .ap-hero-actions, .hero-actions, .robo-v51-hero-actions, .ac-agent-actions) {
    width: 100% !important;
    align-items: stretch !important;
  }

  html body.ac-page main :is(.hero, .ac-service-hero, .ac-master-hero, .ap-page-hero, .ap-full-bleed-hero) :is(.hero__button, .ac-service-btn, .ap-btn, .btn, .ac-agent-btn, .hero-actions a, .ap-hero-actions a, .robo-v51-hero-actions a, .ac-agent-actions a) {
    width: 100% !important;
  }
}
