:root {
  --px-green:#003d35;
  --px-green-2:#00493f;
  --px-lime:#b7f000;
  --px-orange:#d95712;
  --px-orange-2:#c94f10;
  --px-cream:#f3f0ea;
  --px-text:#052f2b;
  --px-muted:#485767;
  --px-line:#cfd2cc;
  --px-white:#fff;
  --px-radius:28px;
  --px-shadow:0 20px 60px rgba(0,0,0,.08)
}

html {
  scroll-behavior:smooth
}

body {
  font-family:'Lexend',system-ui,sans-serif;
  color:var(--px-text);
  background:var(--px-cream);
  overflow-x:hidden
}

main {
  overflow:hidden;
}

a {
  color:inherit
}

.container-xxl {
  max-width:1360px
}

.site-header {
  position:absolute;
  top:16px;
  left:0;
  right:0;
  z-index:1000
}

.nav-shell {
  background:#002927;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  min-height:72px;
  padding:0 20px;
  box-shadow:none
}

.brand-logo {
  width:118px;
  height:auto
}

[data-menu-open] {
  width:40px;
  height:40px;
  padding:0;
  border:0;
  border-radius:8px;
  background:#fff;
  color:#34404a;
  display:inline-flex;
  align-items:center;
  justify-content:center
}

[data-menu-open] .bi {
  font-size:22px!important;
  line-height:1
}

.nav-link {
  color:#fff!important;
  font-weight:500;
  font-size:16px;
  line-height:1.5;
  padding:12px 18px!important
}

.nav-link:hover {
  color:var(--px-lime)!important
}

.btn-px {
  border:0;
  border-radius:8px;
  padding:14px 22px;
  font-size:16px;
  line-height:1.5;
  font-weight:600;
  transition:.2s ease;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px
}

.btn-primary-px {
  background:var(--px-orange);
  color:#fff
}

.btn-primary-px:hover {
  background:var(--px-orange-2);
  color:#fff;
  transform:translateY(-1px)
}

.btn-light-px {
  background:#fff;
  color:var(--px-text)
}

.btn-light-px:hover {
  background:#eef0ec;
  color:var(--px-text)
}

.btn-outline-px {
  border:1px solid #d9ddd8;
  background:#fff;
  color:var(--px-text)
}

.btn-outline-px:hover {
  border-color:var(--px-orange);
  color:var(--px-orange)
}

.section-label {
  color:var(--px-lime);
  font-size:13px;
  font-weight:700;
  margin-bottom:12px
}

.hero {
  background:linear-gradient(180deg,#004b42 0%,#003d35 48%,#001f1c 100%);
  margin-top:0;
  padding:0;
  min-height:860px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center
}

.hero:before {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:70vw;
  max-width:1010px;
  height:100%;
  background:url('/assets/img/hero-x.png') left bottom/auto 100% no-repeat;
  opacity:.16
}

.hero .container-xxl {
  position:relative;
  z-index:1;
  max-width:1440px;
  padding-left:66px;
  padding-right:66px
}

.hero .row {
  align-items:center!important;
  min-height:860px;
  padding-top:80px;
  box-sizing:border-box
}

.hero h1 {
  color:#fff;
  font-size:clamp(44px,4vw,56px);
  line-height:1.2;
  font-weight:500;
  letter-spacing:0
}

.hero p {
  color:#fff;
  max-width:640px;
  font-size:18px;
  line-height:1.5;
  font-weight:400
}

.hero-kicker {
  color:#fff;
  font-weight:600;
  font-size:18px;
  line-height:1.5
}

.hero-image-wrap {
  position:relative;
  min-height:690px;
  display:flex;
  align-items:center;
  justify-content:center
}

.hero-circle {
  position:absolute;
  right:10px;
  top:50%;
  width:590px;
  height:590px;
  border-radius:50%;
  background:#00332e;
  transform:translateY(-50%);
  overflow:hidden
}

.hero-img {
  position:absolute;
  left:50%;
  bottom:0;
  height:560px;
  width:auto;
  z-index:2;
  transform:translateX(-50%)
}

.slider-section {
  background:var(--px-cream);
  padding:120px 0;
  text-align:center
}

.info-slider {
  position:relative
}

.info-slide {
  display:none;
  max-width:760px;
  margin:auto
}

.info-slide.active {
  display:block
}

.info-slide h2 {
  font-size:32px;
  font-weight:500;
  line-height:1.3;
  text-align:center
}

.info-slide ul {
  list-style:disc;
  margin:24px auto 0;
  padding:0;
  max-width:620px;
  color:var(--px-muted);
  font-size:15px;
  text-align:center
}

.info-slide li {
  display:list-item;
  width:fit-content;
  max-width:100%;
  margin:6px auto;
  padding-left:4px
}

.slider-arrow {
  position:absolute;
  top:36%;
  border:0;
  background:transparent;
  font-size:40px;
  line-height:1;
  color:#9aa3ad
}

.slider-arrow:hover {
  color:var(--px-text)
}

.slider-arrow:disabled {
  opacity:.35;
  pointer-events:none
}

.slider-arrow.prev {
  left:0
}

.slider-arrow.next {
  right:0
}

.dots {
  display:flex;
  gap:8px;
  justify-content:center;
  margin-top:32px
}

.dot {
  width:50px;
  height:4px;
  border:0;
  border-radius:10px;
  background:#d5dbe2
}

.dot.active {
  background:#677386
}

.services-home {
  background:var(--px-green);
  color:#fff;
  padding:120px 0 112px;
  position:relative;
  overflow:hidden
}

.services-home:before {
  content:"";
  position:absolute;
  inset:0;
  background:url('/assets/img/service-grid.png') center center/cover no-repeat;
  opacity:1;
  pointer-events:none
}

.services-home .container-xxl {
  z-index:1
}

.services-home .section-label {
  margin-bottom:14px
}

.services-home .section-title {
  color:#fff;
  font-size:48px;
  line-height:120%;
  font-weight:500;
  letter-spacing:0;
  text-align:center
}

.services-home .row {
  width:100%
}

.service-visual {
  width:453px;
  max-width:100%;
  margin:0 auto;
  opacity:1
}

.service-visual img {
  display:block;
  width:100%;
  height:auto;
  opacity:1;
  transform:scale(1);
  transition:opacity .22s ease, transform .22s ease
}

.service-visual img.is-changing {
  opacity:.68;
  transform:scale(.985)
}

.x-indicator {
  display:none
}

.service-list {
  position:relative;
  padding-top:5px
}

.service-item {
  border-bottom:1px solid rgba(255,255,255,.25)
}

.service-item:first-child {
  border-top:1px solid rgba(255,255,255,.25)
}

.service-trigger {
  width:100%;
  background:transparent;
  border:0;
  color:inherit;
  padding:25px 0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  font-weight:500;
  text-align:left
}

.service-trigger span:first-child {
  font-size:24px;
  line-height:140%;
  font-weight:500;
  letter-spacing:0
}

.service-trigger .plus {
  position:relative;
  flex:0 0 24px;
  width:24px;
  height:24px;
  font-size:0;
  line-height:1
}

.service-trigger .plus:before,
.service-trigger .plus:after {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:24px;
  height:2px;
  background:#fff;
  border-radius:2px;
  transform:translate(-50%,-50%)
}

.service-trigger .plus:after {
  transform:translate(-50%,-50%) rotate(90deg)
}

.service-trigger[aria-expanded=true] {
  color:#C6F500
}

.service-trigger[aria-expanded=true] .plus:before,
.service-trigger[aria-expanded=true] .plus:after {
  background:#C6F500
}

.service-trigger[aria-expanded=true] .plus:after {
  opacity:0
}

.service-preview {
  color:rgba(255,255,255,.9)
}

.service-preview-inner {
  padding:0 0 28px;
  font-size:24px;
  line-height:140%;
  font-weight:400
}

.service-preview-inner > p:first-child {
  margin:0 0 18px
}

.service-quote {
  min-height:98px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:8px;
  padding:24px 36px;
  display:flex;
  align-items:center;
  gap:28px;
  margin-bottom:22px;
  background:rgba(255,255,255,.04)
}

.service-quote img {
  display:block;
  width:auto;
  height:50px;
  flex:0 0 auto
}

.service-tags {
  color:#C6F500;
  font-size:18px;
  line-height:150%;
  font-weight:400;
  margin:0 0 26px;
  display:flex;
  gap:22px;
  flex-wrap:wrap
}

.btn-service-detail {
  background:#fff;
  color:#2B3745;
  border:1px solid rgba(43,55,69,.15);
  box-shadow:0 3px 12px rgba(0,0,0,.12);
  gap:14px
}

.btn-service-detail:hover,
.btn-service-detail:focus {
  background:#fff;
  color:#002927;
  transform:translateY(-1px)
}

 .about-section {
  padding:115px 0
}

.about-section .section-title {
  color:#002927;
  font-size:48px;
  line-height:120%;
  font-weight:500;
  letter-spacing:0;
  text-align:center
}

.person-card {
  border-radius:26px;
  background:#fff;
  overflow:hidden;
  box-shadow:var(--px-shadow);
  margin-top:44px
}

.person-card .row {
  align-items:stretch
}

.person-card .col-lg-5 {
  display:flex
}

.person-card.reverse .row {
  flex-direction:row-reverse
}

.person-photo {
  width:100%;
  height:100%;
  min-height:540px;
  background:#205652;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden
}

.person-photo img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center bottom
}

.person-card:first-of-type .person-photo img {
  width:94%;
  transform:translateY(0)
}

.person-card.reverse .person-photo img {
  width:100%;
  transform:translateY(0)
}

.person-content {
  padding:70px
}

.person-content h3 {
  color:#002927;
  font-size:32px;
  line-height:130%;
  font-weight:500;
  letter-spacing:0
}

.person-content p.mt-4 {
  color:#2B3745;
  font-size:16px;
  line-height:150%;
  font-weight:400;
  max-height:220px;
  opacity:1;
  overflow:hidden;
  transition:max-height .32s ease, opacity .22s ease, margin .32s ease
}

.person-content.is-skills-open > p.mt-4 {
  max-height:0;
  opacity:0;
  margin-top:0 !important;
  margin-bottom:0 !important
}

.person-content p {
  color:#344054;
  font-size:16px;
  line-height:150%;
  font-weight:400
}

.person-name {
  color:#002927;
  font-weight:500;
  font-size:24px;
  line-height:140%;
  margin-top:26px
}

.small-acc {
  border-top:1px solid var(--px-line);
  margin-top:32px
}

.small-acc button {
  width:100%;
  border:0;
  background:transparent;
  padding:22px 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  text-align:left;
  color:#002927;
  font-size:20px;
  line-height:150%;
  font-weight:500
}

.small-acc .acc-icon {
  position:relative;
  flex:0 0 auto;
  width:24px;
  height:24px
}

.small-acc .acc-icon::before,
.small-acc .acc-icon::after {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:24px;
  height:2px;
  background:#205652;
  border-radius:999px;
  transform:translate(-50%, -50%)
}

.small-acc .acc-icon::after {
  transform:translate(-50%, -50%) rotate(90deg)
}

.small-acc button[aria-expanded="true"] .acc-icon::after {
  opacity:0
}

.small-acc ul {
  margin:0;
  padding:0 0 22px 1.15em;
  color:#344054;
  font-size:16px;
  line-height:150%;
  font-weight:400
}

.small-acc li + li {
  margin-top:4px
}


@media (max-width:991.98px) {
  .about-section {
    padding:72px 0
  }

  .about-section .section-title {
    font-size:32px;
    line-height:120%
  }

  .person-card {
    border-radius:8px;
    margin-top:28px
  }

  .person-card .col-lg-5 {
    display:block
  }

  .person-photo {
    min-height:0;
    height:auto
  }

  .person-card:first-of-type .person-photo img,
  .person-card.reverse .person-photo img {
    width:100%;
    transform:none
  }

  .person-content {
    padding:24px 18px 22px
  }

  .person-content h3 {
    font-size:24px;
    line-height:130%
  }

  .person-content p.mt-4,
  .person-content p {
    font-size:16px;
    line-height:150%
  }

  .person-name {
    font-size:24px;
    line-height:140%;
    margin-top:22px
  }

  .small-acc button {
    font-size:20px;
    line-height:150%
  }
}

.clients {
  background:#f7f8f8;
  padding:110px 0;
  text-align:center
}

.client-slide {
  display:none
}

.client-slide.active {
  display:block
}

.client-slide img {
  width:100%;
  max-width:1180px;
  height:auto
}

.client-mobile {
  display:none
}

.contact {
  padding:110px 0
}

.contact h2 {
  font-size:52px;
  font-weight:800
}

.contact-list {
  list-style:none;
  padding:0;
  margin:35px 0 0;
  color:var(--px-text)
}

.contact-list li {
  display:flex;
  gap:12px;
  margin:14px 0
}

.form-control,.form-check-input {
  border-color:#cdd3d2
}

.form-control {
  border-radius:4px;
  padding:12px 14px
}

.form-control:focus,.form-check-input:focus {
  border-color:var(--px-orange);
  box-shadow:0 0 0 .15rem rgba(217,87,18,.15)
}

.footer {
  background:var(--px-green);
  color:#fff;
  padding:95px 0 55px;
  position:relative;
  overflow:hidden
}

.footer:before {
  content:"";
  position:absolute;
  inset:0;
  background:url('/assets/img/footer-grid.png') top center/100% auto no-repeat
}

.footer .container-xxl {
  position:relative;
  z-index:1
}

.footer-logo {
  width:120px
}

.footer .nav-link {
  color:#fff!important;
  font-size:14px;
  line-height:150%;
  font-weight:600;
  padding:0 18px!important
}

.footer .nav-link:hover {
  color:var(--px-lime)!important
}

.socials {
  display:flex;
  gap:18px
}

.socials a {
  font-size:21px;
  color:#fff;
  text-decoration:none
}

.socials a:hover {
  color:var(--px-lime)
}

.footer-line {
  height:1px;
  background:rgba(255,255,255,.6);
  margin:80px 0 38px
}

.footer-bottom {
  display:flex;
  justify-content:center;
  gap:34px;
  flex-wrap:wrap;
  color:#fcfcfd;
  font-size:14px;
  line-height:150%;
  font-weight:400
}

.footer-bottom a {
  color:#fcfcfd;
  text-decoration:underline;
  text-underline-offset:2px;
  font-size:14px;
  line-height:150%;
  font-weight:400
}

.to-top {
  position:fixed;
  right:34px;
  bottom:34px;
  width:54px;
  height:54px;
  border-radius:50%;
  border:0;
  background:var(--px-orange);
  color:#fff;
  z-index:999;
  display:none;
  align-items:center;
  justify-content:center;
  font-size:24px;
  transition:.2s ease
}

.to-top.show {
  display:flex
}

.to-top:hover {
  background:var(--px-orange-2);
  color:#fff;
  transform:translateY(-1px)
}

.mobile-menu {
  position:fixed;
  inset:0;
  background: #002927;
  z-index:2000;
  transform:translateX(100%);
  transition:.25s ease;
  color:#fff;
  padding:42px;
  display:flex;
  flex-direction:column
}

.mobile-menu.open {
  transform:translateX(0)
}

.menu-close {
  position:absolute;
  right:36px;
  top:38px;
  width:40px;
  height:40px;
  border-radius:8px;
  background:#fff;
  border:0;
  color:#34404a;
  font-size:20px;
  display:flex;
  align-items:center;
  justify-content:center
}

.mobile-menu nav {
  margin:auto 0;
  text-align:center
}

.mobile-menu nav a {
  display:block;
  color:#fff;
  text-decoration:none;
  font-size:32px;
  font-weight:700;
  margin:36px 0
}

.mobile-contact {
  border-top:1px solid rgba(255,255,255,.25);
  padding-top:32px
}

.subpage {
  padding:115px 0 0
}

.back-link {
  font-size:34px;
  text-decoration:none;
  color:#243246
}

.services-detail {
  max-width:800px;
  margin:30px auto 85px
}

.detail-item {
  background:#fff;
  border-radius:30px;
  margin:24px 0;
  overflow:hidden
}

.detail-head {
  width:100%;
  border:0;
  background:#fff;
  padding:26px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-align:left;
  color:var(--px-text)
}

.detail-head > span:first-child {
  font-family:'Lexend', sans-serif;
  font-size:24px;
  font-weight:500;
  line-height:140%;
  letter-spacing:0;
  color:#002927
}

.detail-head .plus {
  font-size:44px;
  font-weight:300
}

.detail-head[aria-expanded=true] .plus:before {
  content:'−'
}

.detail-head[aria-expanded=false] .plus:before {
  content:'+'
}

.detail-body {
  padding:0 20px 48px;
  color:#34404a;
  line-height:1.65
}

.detail-body h3 {
  font-family:'Lexend', sans-serif;
  font-size:20px;
  font-weight:500;
  line-height:140%;
  letter-spacing:0;
  color:#002927;
  margin-top:28px
}

.detail-body p strong {
  font-family:'Lexend', sans-serif;
  font-size:16px;
  font-weight:500;
  line-height:150%;
  letter-spacing:0;
  color:#344054
}

.detail-body ul {
  margin-bottom:22px
}

.tags {
  color:#6d7f00;
  font-weight:600
}

.quote-box {
  background:#f6f3ee;
  border-radius:24px;
  margin-top:34px;
  padding:36px;
  text-align:center;
  color:var(--px-text)
}

.quote-inner {
  background:#fff;
  border-radius:14px;
  margin-top:24px;
  padding:25px;
  display:flex;
  gap:22px;
  align-items:center;
  text-align:left
}

.detail-body .quote-box > strong,
.detail-body .quote-inner strong,
.detail-body .quote-inner span {
  font-family:'Lexend', sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:150%;
  letter-spacing:0;
  color:#002927
}

.quote-mark {
  width:52px;
  height:52px;
  background:var(--px-lime);
  border-radius:10px
}
.quote-icon {
  height:50px;
  width:auto;
  flex:0 0 auto;
  display:block;
}


.legal-card {
  background:#fff;
  border-radius:30px;
  max-width:720px;
  margin:40px auto 95px;
  padding:70px;
  color:#34404a
}

.legal-card h1 {
  text-align:center;
  color:#002927;
  font-size:24px;
  font-weight:500;
  margin-bottom:42px
}

.legal-card h2 {
  font-size:16px;
  font-weight:500;
  color:var(--px-text);
  margin-top:30px
}
.legal-card p strong {
  font-weight:500;
}

.legal-card p,.legal-card li {
  line-height:1.65
}

.form-message {
  display:none;
  margin-top:14px;
  font-weight:700
}

.form-message.show {
  display:block
}

@media (max-width:1199.98px) {
  .hero .container-xxl {
    padding-left:42px;
    padding-right:42px
  }

.hero h1 {
    font-size:50px
  }

.hero p {
    font-size:16px
  }

.hero-circle {
    width:500px;
    height:500px;
    right:0
  }

.hero-img {
    height:500px
  }

.hero-image-wrap {
    min-height:600px
  }

}


@media (max-width:991.98px) {
  .footer {
    padding:54px 0 48px
  }

  .footer:before {
    background:url('/assets/img/footer-grid.png') top center/auto 100% no-repeat
  }

  .footer .container-xxl {
    padding-left:30px;
    padding-right:30px
  }

  .footer-top {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:0
  }

  .footer-logo-col,
  .footer-nav,
  .footer-social-col {
    width:100%;
    text-align:left!important
  }

  .footer-logo-col {
    order:1
  }

  .footer-social-col {
    order:2;
    margin-top:34px
  }

  .footer-nav {
    order:3;
    margin-top:36px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:20px
  }

  .footer-logo {
    width:128px
  }

  .footer .nav-link {
    display:block!important;
    padding:0!important;
    font-size:14px;
    line-height:150%;
    font-weight:600
  }

  .footer .socials {
    justify-content:flex-start!important;
    gap:24px
  }

  .footer .socials a {
    font-size:21px
  }

  .footer-line {
    margin:32px 0 30px
  }

  .footer-bottom {
    justify-content:flex-start;
    align-items:flex-start;
    flex-direction:column;
    gap:30px;
    font-size:14px;
    line-height:150%;
    font-weight:400
  }

  .footer-legal {
    order:1
  }

  .footer-copy {
    order:2
  }
}


@media (max-width:991.98px) {
  .site-header {
    top:10px
  }

  .site-header .container-xxl {
    padding-left:30px;
    padding-right:30px
  }

  .nav-shell {
    min-height:60px;
    border-radius:10px;
    padding:0 10px 0 14px
  }

  .brand-logo {
    width:92px
  }

  .hero {
    margin-top:0;
    padding:0;
    min-height:772px;
    display:block;
    background:#003d35
  }

  .hero:before {
    display:none
  }

  .hero .container-xxl {
    position:relative;
    z-index:2;
    padding:0 30px
  }

  .hero .row {
    min-height:772px;
    padding-top:0;
    display:block
  }

  .hero-mobile-visual {
    display:block;
    position:absolute;
    inset:0;
    height:100%;
    background:url('/assets/img/hero-mobile.webp') center top/110% auto no-repeat;
    z-index:0
  }

  .hero-mobile-visual:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom,rgba(0,61,53,0) 0%,rgba(0,48,43,.04) 34%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.94) 78%,#000 100%)
  }

  .hero-text {
    position:relative;
    z-index:2;
    padding:300px 0 42px;
    margin-top:0
  }

  .hero h1 {
    font-size:42px;
    line-height:1.2;
    max-width:310px
  }

  .hero p {
    font-size:16px;
    line-height:1.5;
    max-width:310px
  }

  .hero-kicker {
    font-size:16px;
    line-height:1.5;
    font-weight:600;
    max-width:310px
  }

  .hero-text .d-flex {
    flex-direction:column;
    align-items:flex-start;
    gap:14px!important
  }

  .hero-image-wrap {
    display:none
  }

  .btn-px {
    padding:12px 15px;
    font-size:14px;
    line-height:1.5;
    font-weight:600
  }

  .slider-section {
    padding:64px 0
  }

  .info-slider {
    overflow:visible
  }

  .slider-section .slider-arrow {
    display:none
  }

  .info-slide h2 {
    font-size:24px;
    line-height:1.3
  }

  .info-slide ul {
    font-size:20px;
    line-height:1.5;
    max-width:300px
  }

  .slider-section .dots {
    gap:10px;
    margin-top:30px
  }

  .slider-section .dot {
    width:10px;
    height:10px;
    border-radius:50%;
    background:#d0d0cc
  }

  .slider-section .dot.active {
    background:#000
  }

.quote-box {
    padding:22px
  }

.quote-inner {
    padding:18px;
    display:block;
    text-align:center
  }

.legal-card {
    margin:20px 0 55px;
    padding:28px 24px;
    border-radius:24px;
    font-size:14px
  }

.legal-card h1 {
    font-size:18px
  }

.mobile-menu .brand-logo {
    width:118px
  }

.mobile-menu nav a {
    font-size:28px
  }

.mobile-contact {
    font-size:20px
  }

}


@media (min-width:501px) and (max-width:770px) {
  .hero-text {
    padding-top:280px
  }

  .hero-mobile-visual {
    background:url('/assets/img/hero-mobile.webp') 147px -10px/80% auto no-repeat
  }
}

@media (min-width:771px) and (max-width:900px) {
  .hero-text {
    padding-top:200px
  }

  .hero-mobile-visual {
    background:url('/assets/img/hero-mobile.webp') 350px 10px/60% auto no-repeat
  }
}

@media (min-width:901px) and (max-width:991.98px) {
  .hero-text {
    padding-top:200px
  }

  .hero-mobile-visual {
    background:url('/assets/img/hero-mobile.webp') 390px 10px/60% auto no-repeat
  }
}

@media (min-width:992px) {
  .hero-mobile-visual {
    display:none
  }

}

@media (max-width:575.98px) {
  .nav-shell {
    margin:0
  }

.brand-logo {
    width:84px
  }

.hero h1 {
    font-size:42px
  }

.info-slide {
    max-width:345px
  }

.contact .row>[class*=col-] {
    margin-bottom:10px
  }

.mobile-menu {
    padding:34px 24px
  }

.mobile-menu nav a {
    font-size:26px
  }

.mobile-contact {
    font-size:17px
  }
.subpage .section-title {
    font-size:27px
  }

.back-link {
    font-size:28px
  }

}



@media (max-width: 991px){
  .slider-section h2{
    font-size:22px !important;
    line-height:130% !important;
  }

  .slider-section ul{
    display:table !important;
    margin:0 auto !important;
    text-align:left !important;
    padding-left:1.2em !important;
    list-style-position:outside !important;
  }

  .slider-section li{
    font-size:18px !important;
    line-height:150% !important;
  }
}


@media (min-width: 501px) and (max-width: 991px){
  .slider-section ul{
    max-width:min(620px, 82vw) !important;
  }
}

@media (max-width: 500px){
  .slider-section ul{
    max-width:300px !important;
  }
  .footer:before {
    background: none !important;
  }
}


@media (min-width: 501px) and (max-width: 991px){
  .slider-section .slider-content,
  .slider-section .info-slide{
    text-align:center !important;
  }

  .slider-section ul{
    display:inline-block !important;
    width:auto !important;
    max-width:700px !important;
    margin:24px auto 0 !important;
    padding-left:1.2em !important;
    text-align:left !important;
    list-style-position:outside !important;
  }

  .slider-section li{
    font-size:18px !important;
    line-height:150% !important;
    text-align:left !important;
  }

  .slider-section h2{
    font-size:22px !important;
    line-height:130% !important;
  }

  .footer:before {
    background-size: auto !important;
  }
}


@media (min-width: 576px) and (max-width: 991px){
  .slider-section h2{
    font-size:clamp(22px, 3.1vw, 32px) !important;
    line-height:130% !important;
  }

  .slider-section ul{
    display:inline-block !important;
    width:auto !important;
    max-width:none !important;
    margin:24px auto 0 !important;
    padding-left:1.2em !important;
    text-align:left !important;
    list-style-position:outside !important;
  }

  .slider-section li{
    width:max-content !important;
    max-width:calc(100vw - 96px) !important;
    font-size:clamp(14px, 2.05vw, 18px) !important;
    line-height:150% !important;
    text-align:left !important;
  }
}

@media (min-width: 768px) and (max-width: 991px){
  .slider-section li{
    max-width:calc(100vw - 160px) !important;
  }
}


.section-label{
  color:#6A8902;
}

.contact-section h2,
.contact h2,
#contact h2{
  color:#002927;
  font-size:48px;
  line-height:120%;
  font-weight:500;
}

.contact-section p,
.contact-intro,
#contact .contact-intro{
  color:#475467;
  font-size:18px;
  line-height:150%;
  font-weight:400;
}

.contact-info,
.contact-info a,
.contact-details,
.contact-details a,
#contact .contact-list,
#contact .contact-list a,
#contact .contact-info a{
  color:#101828;
  font-size:16px;
  line-height:150%;
  font-weight:500;
  text-decoration:none;
}

.contact-info a:hover,
.contact-details a:hover,
#contact .contact-list a:hover,
#contact .contact-info a:hover{
  color:#6A8902;
}

@media (max-width: 991.98px){
  .contact-section,
  .contact,
  #contact{
    padding-left:clamp(28px, 6vw, 56px);
    padding-right:clamp(28px, 6vw, 56px);
  }

  .contact-section h2,
  .contact h2,
  #contact h2{
    font-size:clamp(40px, 9vw, 48px);
  }
}

@media (max-width: 575.98px){
  .contact-section,
  .contact,
  #contact{
    padding-left:28px;
    padding-right:28px;
  }
}


.section-label{
  color:#6A8902;
  font-size:16px;
  line-height:150%;
  font-weight:500;
}

.clients-section{
  background:#FCFCFD;
  padding:96px 0 92px;
  overflow:hidden;
}

.clients-section h2{
  color:#002927;
  font-size:32px;
  line-height:130%;
  font-weight:500;
  text-align:center;
  margin:0 0 42px;
}

.clients-slider{
  position:relative;
}

.clients-track{
  position:relative;
  max-width:1240px;
  margin:0 auto;
  min-height:252px;
}

.clients-slide{
  display:none;
}

.clients-slide.active{
  display:block;
}

.clients-slide img{
  display:block;
  width:100%;
  height:auto;
}

.clients-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  border:0;
  background:transparent;
  color:#98A2B3;
  font-size:40px;
  line-height:1;
  padding:0;
  width:44px;
  height:44px;
}

.clients-arrow:hover{
  color:#002927;
}

.clients-prev{
  left:0;
}

.clients-next{
  right:0;
}

.clients-dots{
  display:flex;
  justify-content:center;
  gap:14px;
  margin-top:36px;
}

.clients-dots button{
  width:64px;
  height:4px;
  padding:0;
  border:0;
  border-radius:99px;
  background:#D0D5DD;
}

.clients-dots button.active{
  background:#667085;
}

@media (min-width:768px){
  .clients-slide-xs{
    display:none!important;
  }
}

@media (max-width:767.98px){
  .clients-section{
    padding:72px 0 68px;
  }

  .clients-section h2{
    font-size:32px;
    line-height:130%;
    margin-bottom:42px;
  }

  .clients-track{
    max-width:360px;
    min-height:0;
  }

  .clients-slide:not(.active){
    display:none!important;
  }

  .clients-arrow{
    display:none;
  }

  .clients-dots{
    gap:12px;
    margin-top:34px;
  }

  .clients-dots button{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#D0D5DD;
  }

  .clients-dots button.active{
    background:#000;
  }
}

.contact-info a[href^="tel:"],
.contact-info a[href^="mailto:"],
.contact-info a[href^="https://maps.app.goo.gl"],
.contact-details a[href^="tel:"],
.contact-details a[href^="mailto:"],
.contact-details a[href^="https://maps.app.goo.gl"],
#contact a[href^="tel:"],
#contact a[href^="mailto:"],
#contact a[href^="https://maps.app.goo.gl"]{
  color:#101828;
  font-size:16px;
  line-height:150%;
  font-weight:500;
  text-decoration:none;
}

.contact-info a[href^="tel:"]:hover,
.contact-info a[href^="mailto:"]:hover,
.contact-info a[href^="https://maps.app.goo.gl"]:hover,
.contact-details a[href^="tel:"]:hover,
.contact-details a[href^="mailto:"]:hover,
.contact-details a[href^="https://maps.app.goo.gl"]:hover,
#contact a[href^="tel:"]:hover,
#contact a[href^="mailto:"]:hover,
#contact a[href^="https://maps.app.goo.gl"]:hover{
  color:#6A8902;
}


.clients-section{
  background:#FCFCFD!important;
  padding:96px 0 92px;
  overflow:hidden;
}

.clients-section h2{
  color:#002927;
  font-size:32px;
  line-height:130%;
  font-weight:500;
  text-align:center;
  margin:0 0 42px;
}

.clients-slider{
  position:relative;
  max-width:1340px;
  margin:0 auto;
}

.clients-track{
  position:relative;
  max-width:1240px;
  margin:0 auto;
}

.clients-slide{
  display:none!important;
}

.clients-slide.is-active{
  display:block!important;
}

.clients-slide img{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
}

.clients-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  border:0;
  background:transparent;
  color:#98A2B3;
  font-size:40px;
  line-height:1;
  padding:0;
  width:44px;
  height:44px;
  transition:color .2s ease;
}

.clients-arrow:hover{
  color:#002927;
}

.clients-arrow:disabled{
  opacity:.35;
  cursor:default;
}

.clients-prev{
  left:0;
}

.clients-next{
  right:0;
}

.clients-dots{
  display:flex;
  justify-content:center;
  gap:14px;
  margin-top:36px;
}

.clients-dots button{
  width:64px;
  height:4px;
  padding:0;
  border:0;
  border-radius:99px;
  background:#D0D5DD;
}

.clients-dots button.is-active{
  background:#667085;
}

@media (min-width:768px){
  .clients-mobile-only{
    display:none!important;
  }
}

@media (max-width:767.98px){
  .clients-section{
    padding:72px 0 68px;
  }

  .clients-section h2{
    font-size:32px;
    line-height:130%;
    font-weight:500;
    margin:0 0 42px;
  }

  .clients-slider{
    max-width:360px;
  }

  .clients-track{
    max-width:320px;
  }

  .clients-arrow{
    display:none!important;
  }

  .clients-dots{
    gap:12px;
    margin-top:34px;
  }

  .clients-dots button{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#D0D5DD;
  }

  .clients-dots button.is-active{
    background:#000;
  }
}


.info-slider-arrow,
.info-slider-arrow:hover,
.info-slider-arrow:focus,
.info-slider-arrow:active,
.slider-arrow,
.slider-arrow:hover,
.slider-arrow:focus,
.slider-arrow:active{
  color:#667085!important;
}

.info-slider-arrow:disabled,
.slider-arrow:disabled{
  color:#D0D5DD!important;
  opacity:1!important;
}

.clients-arrow{
  color:#667085!important;
  background:transparent!important;
  border:0!important;
  font-size:24px!important;
  line-height:1!important;
}

.clients-arrow:hover,
.clients-arrow:focus,
.clients-arrow:active{
  color:#667085!important;
}

.clients-arrow:disabled{
  color:#D0D5DD!important;
  opacity:1!important;
}

.clients-arrow i{
  display:block;
  pointer-events:none;
}


.cta-band{
  position:relative;
  display:block;
  overflow:hidden;
  background:#012927;
  color:#fff;
  padding:0;
  margin:0;
}

.cta-media{
  position:relative;
}

.cta-bg{
  display:block;
  width:100%;
  height:auto;
}

.cta-content{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  z-index:2;
  width:min(900px, calc(100% - 48px));
  text-align:center;
}

.cta-icon{
  display:block;
  width:auto;
  max-height:68px;
  margin:0 auto 24px;
}

.cta-band h2{
  max-width:820px;
  margin:0 auto 26px;
  color:#fff;
  font-size:56px;
  line-height:120%;
  font-weight:500;
  letter-spacing:0;
  text-align:center;
}

.cta-band p{
  max-width:900px;
  margin:0 auto 54px;
  color:#fff;
  font-size:18px;
  line-height:150%;
  font-weight:400;
  text-align:center;
}


@media (max-width:991.98px){
  .cta-band{
    background:#012927;
  }

  .cta-media:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:120px;
    background:linear-gradient(180deg, rgba(1,41,39,0) 0%, #012927 100%);
    pointer-events:none;
  }

  .cta-content{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    width:calc(100% - 40px);
    max-width:430px;
    margin:-76px auto 20px;
    padding:42px 30px 30px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:12px;
    background:linear-gradient(180deg, rgba(62, 88, 84, .94) 0%, rgba(36, 66, 63, .96) 100%);
    box-shadow:0 24px 60px rgba(0,0,0,.22);
    backdrop-filter:blur(8px);
  }

  .cta-icon{
    max-height:40px;
    margin-bottom:26px;
  }

  .cta-band h2{
    font-size:clamp(34px, 8vw, 44px);
    line-height:120%;
    margin-bottom:22px;
  }

  .cta-band p{
    font-size:clamp(18px, 5vw, 24px);
    line-height:150%;
    margin-bottom:28px;
  }
}

@media (max-width:575.98px){
  .cta-content{
    width:calc(100% - 40px);
    margin-top:-76px;
    padding:42px 30px 30px;
  }

  .cta-band h2{
    font-size:34px;
  }

  .cta-band p{
    font-size:20px;
  }
}


@media (min-width: 1200px) {
  .cta-content { margin-top: 80px; }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .cta-content { margin-top: 20px; }
}


/* About section tablet breakpoint */
@media (min-width: 550px) and (max-width: 991px) {
  .person-photo {
    height: 420px;
  }

  .person-card:first-of-type .person-photo img,
  .person-card.reverse .person-photo img {
    width: auto;
    max-width: 76%;
    max-height: 100%;
    transform: none;
  }
}


/* Legal page fixed background */
.page-legal {
  background-color: var(--px-cream);
  background-image: url('/assets/img/hero-x.png'), url('/assets/img/hero-x.png');
  background-repeat: no-repeat, no-repeat;
  background-size: 560px auto, 860px auto;
  background-position: left -120px top 330px, right -500px top 520px;
  background-attachment: fixed, fixed;
}

.page-legal .footer {
  position: relative;
  z-index: 2;
}

@media (max-width: 1399.98px) {
  .page-legal {
    background-size: 500px auto, 760px auto;
    background-position: left -125px top 330px, right -455px top 520px;
  }
}

@media (max-width: 991.98px) {
  .page-legal {
    background-size: 420px auto, 620px auto;
    background-position: left -150px top 310px, right -405px top 500px;
  }
}

@media (max-width: 575.98px) {
  .page-legal {
    background-image: none;
  }
}


/* peopleX-38 services typography */
.service-preview-inner p{
  font-family:'Lexend',sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:150%;
  letter-spacing:0;
}
.service-quote span{
  font-family:'Lexend',sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:150%;
  letter-spacing:0;
}
.service-tags{
  font-family:'Lexend',sans-serif;
  font-weight:400;
  font-size:14px;
  line-height:150%;
  letter-spacing:0;
  color:#8CB400;
}


/* peopleX-39 services mobile layout polish */
@media (max-width: 991.98px) {
  .services-home .row {
    --bs-gutter-y: 0;
    margin-top: 0;
  }

  .services-home .row > .col-lg-6 {
    margin-top: 0;
    width: 100%;
  }

  .service-list {
    width: 100%;
    margin-top: 0;
    padding-top: 0;
  }

  .service-item {
    width: 100%;
  }

  .service-trigger span:first-child {
    font-size: 20px;
  }

  #serviceX {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  #serviceX img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 140px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* peopleX-40 services mobile centering polish */
.services-home .row.align-items-center {
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 991.98px) {
  .services-home .text-center.mb-3 {
    margin-bottom: 1rem !important;
  }

  .services-home .row.align-items-center {
    max-width: 560px;
    --bs-gutter-x: 0;
    margin-left: auto;
    margin-right: auto;
  }

  #serviceX img {
    margin-bottom: 12px;
  }
}

@media (max-width: 767.98px) {
  .quote-inner .quote-icon,
  .quote-icon {
    height:50px;
    margin:0 auto 14px;
  }
}

.references-slide-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
}

.references-slide-grid img{
  display:block;
  width:100%;
}

@media (max-width:768px){
  .references-slide-grid{
    grid-template-columns:repeat(2,1fr);
  }
}