.solutions-page { background:#fff; color:#202326; overflow-x:hidden; overflow-y:auto; }
.solutions-page * {box-sizing:border-box;}
.solutions-page h2 { font-family:'Inter' !important; font-size:50px !important; font-weight:600 !important; }
.solutions-page h3 { font-family:'Inter' !important; }
.solutions-page p { font-family:'Poppins' !important; font-size:16px; font-weight:400; line-height:1.5; }
.solutions-page main { margin-top:-125px; }
.solutions-shell { width:min(1660px, calc(100% - 120px)); margin-inline:auto; }
.solutions-page .section-pad { padding:105px 0; }
.solutions-page .solutions-dark-panel {background:#020807 url('../images/solutions/green-orbit.webp') center/cover no-repeat;color:#fff;border-radius: 30px;/* width: 130%; */}
.solutions-page .section-title { text-align:center; font-size:48px !important; margin:0 0 70px; }
.solutions-page .eyebrow { color:#3fa42d; font-size:18px; font-weight:600; }
.solutions-page header {
    top: 20px;
}
.solutions-hero { height:700px; margin:10px; border-radius:30px; display:grid; place-items:center; overflow:hidden; }
.solutions-hero h1 { color:#fff; text-align:center; font:600 64px/1.1 Inter !important; margin:80px 0 0; }
.industry-grid { display:grid; grid-template-columns:.85fr 1.15fr 1.15fr; gap:35px; align-items:stretch; }
.industry-tabs { display:flex; flex-direction:column; justify-content:space-between; gap:20px; }
.industry-tabs button,.industry-card h3 {min-height:58px;border:0;border-radius: 60px;background:#e8e8e8;color:#232323;font-weight:600;padding:12px 25px;text-align:center;}
.industry-tabs button { cursor:pointer; transition:background-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease; }
.industry-tabs button:hover,.industry-tabs button:focus-visible { transform:translateX(6px); box-shadow:0 8px 20px rgba(80,174,51,.18); outline:none; }
.industry-tabs button.active,.industry-card h3 { background:#55b838; color:#fff; }
.industry-tabs button.active { box-shadow:0 8px 22px rgba(80,174,51,.24); }
.industry-card {background:#eee;border-radius:18px;/* overflow:hidden; */}
.industry-card h3 { margin:0; border-radius:18px 18px 0 0; font-size:18px; }
.industry-card ul { list-style:none; padding:18px 45px 28px; margin:0; }
.industry-card li { padding:15px 0; border-bottom:1px solid #d6d6d6; text-align:center; }
.industry-card .check-list li { text-align:left; }
.check-list li::before { content:'\2713'; margin-right:10px; }

.industry-banner { min-height:590px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:flex-end; }
.industry-banner::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent 30%,rgba(37,154,24,.88) 62%,#0f5a08 100%); }
.industry-banner>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.industry-banner-copy { position:relative; z-index:1; width:46%; padding-right:9%; color:#fff; }
.industry-banner-copy h2 { color:#fff; font-size:58px !important; line-height:1.06; }
.industry-banner-copy p { max-width:650px; font-size:18px; line-height:1.7; }

.two-up {display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.showcase-image,.product-copy { min-height:670px; border-radius:26px; }
.showcase-image { width:100%; height:100%; object-fit:cover; }
.product-copy { padding:65px; }
.product-copy h2 { color:#fff; font-size:48px !important; }
.product-copy p,.product-copy li { line-height:1.8; }
.product-copy h3 { margin-top:25px; font-weight:700; }
.product-copy ul { padding-left:24px; }
.product-carousel .owl-stage,.services-carousel .owl-stage { display:flex; }
.product-carousel .owl-item,.services-carousel .owl-item { display:flex; }
.product-carousel .product-slide { width:100%; }
.product-carousel .owl-dots,.services-carousel .owl-dots { display:flex; justify-content:center; gap:10px; margin-top:35px; }
.product-carousel .owl-dots .owl-dot,.services-carousel .owl-dots .owl-dot { width:12px; height:12px; border-radius:50%; background:#d8d8d8 !important; transition:background-color .2s ease,transform .2s ease; }
.product-carousel .owl-dots .owl-dot.active,.services-carousel .owl-dots .owl-dot.active { background:#55b838 !important; transform:scale(1.08); }
.product-carousel .owl-dots .owl-dot span,.services-carousel .owl-dots .owl-dot span { display:none; }
.slider-dots { display:flex; justify-content:center; gap:10px; margin-top:35px; }
.slider-dots i { width:11px; height:11px; border-radius:50%; background:#d8d8d8; }
.slider-dots i:first-child { background:#55b838; }

.industry-story { position:relative; background:#fff; }
.industry-story::before {content:'';position:absolute;top:0;left:0;width:60.7%;height:500px;background:#eee;}
.story-grid {display: grid !important;grid-template-columns:1.25fr .75fr;align-items:center;/* min-height:500px; */}
.story-grid article { position:relative; z-index:1; padding:60px 75px 60px 0; }
.story-grid h2 { font-size:52px !important; margin:18px 0 25px; }
.story-grid p { font-size:18px; line-height:1.7; }
.story-media {position:relative;/* height:500px; */}
.story-main-image { width:100%; height:500px; object-fit:cover; border-radius:0 25px 25px 0; }
.story-inset-image { position:absolute; left:-31%; bottom:0; width:50%; height:47%; object-fit:cover; border:13px solid #fff; border-bottom:0; border-radius:25px 25px 0 0; }

.section-intro { text-align:center; max-width:1250px; margin:0 auto 65px; }
.section-intro h2 { font-size:52px !important; }
.section-intro p { line-height:1.7; }
.services-carousel .service-slide { width:100%; }
.service-slide article img { width:100%; height:520px; object-fit:cover; border-radius:25px; }
.service-slide article p { background:#eee; border-radius:0 0 24px 24px; padding:30px; margin:-20px 0 0; position:relative; }
.service-slide h2 { margin-bottom:25px; }

.platform-head { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; margin-bottom:50px; }
.platform-head h2 { font-size:58px !important; line-height:1; margin:0; }
.platform-head p { line-height:1.7; }
.solutions-button { display:inline-flex; min-width:160px; height:50px; margin-top:18px; align-items:center; justify-content:center; border-radius:30px; color:#fff; text-decoration:none; background:linear-gradient(90deg,#154e0d,#43a42c); box-shadow:0 8px 20px rgba(48,117,41,.25); }
.feature-pills { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; margin-bottom:35px; }
.feature-pills span { display:grid; place-items:center; min-height:92px; padding:15px; border-radius:16px; background:#eee; text-align:center; font-size:15px; font-weight:600; }
.wide-pos-image {width:100%;/* height:650px; */object-fit:cover;border-radius:30px;}

.faq-section { margin:30px 12px 0; border-radius:30px; min-height:1050px; }
.faq-inner { max-width:1100px; text-align:center; }
.faq-inner h2 { color:#fff; font-size:50px !important; margin:15px 0; }
.faq-inner>p { color:#ccc; max-width:850px; margin:0 auto 45px; }
.faq-section .accordion { text-align:left; }
.faq-section .accordion-item { background:rgba(10,30,9,.75); border:0; border-bottom:1px solid rgba(255,255,255,.18); color:#fff; }
.faq-section .accordion-button { background:rgba(8,26,7,.9); color:#fff; box-shadow:none; font-weight:500; padding:22px 28px; }
.faq-section .accordion-button:not(.collapsed) { background:#48ad2d; }
.faq-section .accordion-button::after { filter:invert(1); }
.faq-section .accordion-body { background:#48ad2d; line-height:1.7; padding:0 28px 25px; }

.office-section { padding:110px 12px 0; }
.office-map { min-height:500px; border-radius:30px 30px 0 0; display:grid; place-items:center; text-align:center; background:url('../images/solutions/usa-office-map-clean.webp') center/cover; color:#fff; }
.office-map h2 { color:#fff; font-size:38px !important; }
.office-map p { font-size:18px; }
.solutions-footer { margin:0 12px 12px; border-radius:0 0 30px 30px; padding:90px 0 30px; }
.footer-intro { max-width:600px; margin-left:auto; margin-bottom:60px; }
.footer-intro strong { font-size:28px; }
.footer-grid { border-top:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); padding:55px 0; display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:55px; }
.footer-grid h3 { font-size:18px; margin-bottom:20px; }
.footer-grid p,.footer-grid a { display:block; color:#c7c7c7; text-decoration:none; font-size:14px; line-height:1.8; margin-bottom:9px; }
.footer-bottom { display:flex; justify-content:space-between; color:#aaa; padding-top:28px; font-size:13px; }
  section.about-strategy .solutions-shell {
    display: flex;
    flex-direction: column;
    align-items: center;
}
@media (max-width: 991px) {
  .solutions-shell { width:min(100% - 40px, 900px); }
  .solutions-page .section-pad {padding: 50px 0;/* margin: 0; */}
  .solutions-hero { height:520px; }
  .industry-grid { grid-template-columns:1fr; }
  .industry-tabs { display:grid; grid-template-columns:1fr 1fr; }
  .industry-banner-copy { width:60%; padding-right:5%; }
  .two-up,.story-grid,.platform-head { grid-template-columns:1fr; }
  .story-grid article { padding:40px 0; }
  .story-main-image { border-radius:25px; }
  .story-inset-image { left:4%; width:42%; }
  .feature-pills { grid-template-columns:repeat(3,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 575px) {
  .solutions-shell { width:calc(100% - 28px); }
  .solutions-hero { height:430px; }
  .solutions-hero h1 { font-size:44px !important; }
  .solutions-page .section-title,.section-intro h2,.story-grid h2,.faq-inner h2 { font-size:34px !important; }
  .industry-tabs { grid-template-columns:1fr; }
  .industry-banner { min-height:500px; justify-content:flex-start; }
  .industry-banner::after { background:linear-gradient(0deg,rgba(8,76,4,.95),rgba(0,0,0,.05)); }
  .industry-banner-copy { width:100%; padding:220px 24px 30px; }
  .industry-banner-copy h2,.platform-head h2,.product-copy h2 { font-size:36px !important; }
  .product-copy { padding:32px 24px; }
  .showcase-image,.product-copy { min-height:480px; }
  .service-slide article img,.story-main-image { height:330px; }
  .story-media { height:330px; }
  .feature-pills { grid-template-columns:1fr 1fr; }
  .wide-pos-image { height:360px; }
  .faq-section { min-height:auto; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-intro { margin-left:0; }
  .footer-bottom { flex-direction:column; gap:12px; }
}

/* Exact desktop proportions from the 1920 x 9380 Figma Solutions frame. */
@media (min-width: 1200px) {
  .solutions-page { max-width:1920px; margin-inline:auto; }
  .solutions-page main {margin-top: -125px;}
  .solutions-hero {height:682px;margin: 30px 0;border-radius:50px;}
  .solutions-hero h1 { font-size:74px !important; line-height:93.6px; font-weight:500 !important; margin-top:80px; }

  .industry-section {/* height:1079px; */padding: 100px 0 100px !important;}
  .industry-section .solutions-shell { width:1636px; }
  .solutions-page .section-title { font-size:64px !important; line-height:74px; margin-bottom:90px; }
  .industry-grid { grid-template-columns:395px 579px 579px; gap:23px; justify-content:space-between; }
  .industry-tabs {height:618px;gap: 40px;justify-content:flex-start;}
  .industry-tabs button { width:395px; min-height:74px; padding:18px 25px; font-size:28px; }
  .industry-card { height:590px; border-radius:20px; }
  .industry-card h3 {width:327px;min-height:55px;margin:-28px auto 0;position:relative;top:28px;border-radius:100px;font-size:22px;padding:12px;top: 3px;}
  .industry-card ul { padding:62px 38px 25px; }
  .industry-card li {height:76px;padding:13px 0;font-size: 18px;line-height:50px;font-weight: 500;}

  .industry-banner { height:603px; min-height:603px; }
  .industry-banner-copy { width:739px; padding-right:142px; }
  .industry-banner-copy h2 { font-size:64px !important; line-height:82px; letter-spacing:-.64px; }
  .industry-banner-copy p { font-size:16px; line-height:28px; }

  .product-showcase {padding: 100px 0 100px !important;}
  .product-showcase .solutions-shell { width:calc(100% - 32px); max-width:1888px; }
  .showcase-image,.product-copy {/* height:768px; *//* min-height:768px; */border-radius:30px;}
  .product-copy { padding:64px; }
  .product-copy h2 { font-size:64px !important; line-height:74px; }
  .product-copy p,.product-copy li { font-size:18px; line-height:32px; }

  .industry-story {/* height:808px; */padding:0 !important;background:#fff;}
  .industry-story::before {width:1165px;height: 566px;background:rgba(217,217,217,.6);}
  .industry-story .solutions-shell { width:100%; max-width:none; }
  .story-grid {grid-template-columns:1165px 1fr;/* height:566px; *//* min-height:566px; */}
  .story-grid article { width:1024px; padding:82px 0 50px 141px; }
  .story-grid h2 { font-size:64px !important; line-height:74px; margin:18px 0 28px; }
  .story-grid p { width:780px; font-size:16px; line-height:28px; }
  .story-media {/* height:566px; */margin-left:13px;width:592px;}
  .story-main-image { height:566px; border-radius:0 30px 30px 0; }
  .story-inset-image { width:294px; height:267px; left:-181px; bottom:0; border:13px solid #fff; border-bottom:0; border-radius:30px 30px 0 0; }
  .services-section {padding: 100px 0 100px !important;}
  .services-section .services-container { max-width:1320px; }
  .section-intro { max-width:1640px; margin-bottom:65px; }
  .section-intro h2 { font-size:64px !important; line-height:74px; }
  .section-intro p {font-size:16px;line-height:28px;width: 80%;margin: auto;}
  .service-slide article img { height:463px; border-radius:30px; }
  .service-slide article:nth-child(2) img { height:523px; }
  .service-slide h2 { line-height:1.15; }

  .platform-section { padding:0 0 128px !important; }
  .platform-section .solutions-shell { width:calc(100% - 32px); max-width:1888px; }
  .platform-head { padding:0 46px; margin-bottom:64px; grid-template-columns:508px 1fr; gap:510px; }
  .platform-head h2 { font-size:64px !important; line-height:74px; }
  .platform-head>div {max-width: 551px;}
  .platform-head p { font-size:22px; line-height:41px; }
  .feature-pills { padding:0 46px; grid-template-columns:repeat(6,1fr); gap:19px; margin-bottom:41px; }
  .feature-pills span { min-height:140px; border-radius:22px; font-size:19px; }
  .wide-pos-image {/* height:706px; */border-radius:50px;}

  .faq-section { width:calc(100% - 32px); min-height:1085px; margin:0 16px 0; border-radius:30px; padding:145px 0 !important; }
  .faq-inner { max-width:1100px; }

  .office-section { padding:110px 16px 0; }
  .office-map { min-height:519px; border-radius:30px 30px 0 0; }
  .solutions-footer {  margin:0 16px 16px; border-radius:0 0 60px 60px; }
}

/* Keep Solutions typography consistent with the homepage type system. */
.solutions-page h1 { font-family:'Inter' !important; font-size:60px !important; font-weight:500 !important; }
.solutions-page h2 { font-family:'Inter' !important; font-size:50px !important; font-weight:600 !important; }
.solutions-page h3 { font-family:'Inter' !important; }
.solutions-page p { font-family:'Poppins' !important; font-size:16px; font-weight:400; line-height:1.5; }

@media (max-width:575px) {
  .solutions-page h1 { font-size:42px !important; }
  .solutions-page h2 { font-size:34px !important; }
}

/* FAQ geometry and states from the Figma desktop frame. */
@media (min-width:992px) {
  .solutions-page .faq-section {
    position:relative;
    height:1085px;
    min-height:1085px;
    padding:0 !important;
    overflow:hidden;
    isolation:isolate;
    background:#020702;
  }
  .solutions-page .faq-section::before {
    content:'';
    position:absolute;
    inset:0;
    z-index:-2;
    background:url('../images/solutions/green-orbit.webp') center/108.79% 106.54% no-repeat;
    opacity:.26;
  }
  .solutions-page .faq-section::after {
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background:rgba(0,0,0,.4);
    pointer-events:none;
  }
  .solutions-page .faq-inner { width:100%; max-width:none; height:100%; position:relative; }
  .solutions-page .faq-inner>.eyebrow {
    position:absolute;
    top:89px;
    left:50%;
    transform:translateX(-50%);
    color:#50ae33;
    font:500 14px/20px 'Inter';
    letter-spacing:-.084px;
  }
  .solutions-page .faq-inner>h2 {
    position:absolute;
    top:131px;
    left:50%;
    transform:translateX(-50%);
    width:max-content;
    margin:0;
    color:#fff;
    font-size:40.2px !important;
    font-weight:500 !important;
    line-height:48px;
    letter-spacing:-1.6px;
  }
  .solutions-page .faq-inner>p {
    position:absolute;
    top:210px;
    left:50%;
    transform:translateX(-50%);
    width:711px;
    margin:0;
    color:#8f8f8f;
    font-family:'Inter' !important;
    font-size:16px;
    line-height:24px;
    letter-spacing:-.176px;
    text-align:center;
  }

  section.about-partner.section-pad .eyebrow {
      color: white;
      text-transform: uppercase;
      font-weight: 300;
  }
  
  section.about-partner.section-pad .solutions-dark-panel h2 {
      font-size: 45px !important;
      line-height: 50px !important;
      margin-top: 10px;
  }
  
  section.about-partner.section-pad {
      padding-bottom: 250px;
  }

  .solutions-page .faq-section .accordion {
    position:absolute;
    top:292px;
    left:50%;
    transform:translateX(-50%);
    width:824px;
  }
  .solutions-page .faq-section .accordion-item {
    margin:0 0 12px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    background:linear-gradient(180deg,rgba(255,255,255,0),rgba(171,171,171,.06));
  }
  .solutions-page .faq-section .accordion-button {
    min-height:56px;
    padding:16px 27px;
    border:0;
    color:#ebebeb !important;
    background:transparent !important;
    box-shadow:none !important;
    font-family:'Inter';
    font-size:15.9px;
    font-weight:600;
    line-height:24px;
    letter-spacing:-.176px;
  }
  .solutions-page .faq-section .accordion-button:not(.collapsed) {
    color:#ebebeb !important;
    background:#50ae33 !important;
  }
  .solutions-page .faq-section .accordion-button::after {
    width:16px;
    height:16px;
    background-size:16px;
    filter:brightness(0) invert(1);
  }
  .solutions-page .faq-section .accordion-body {
    min-height:160px;
    padding:8px 27px 20px;
    color:#dbdbdb;
    background:#50ae33;
    font-family:'Inter';
    font-size:16px;
    font-weight:400;
    line-height:24px;
    letter-spacing:-.176px;
  }
  .solutions-page .faq-inner>.btn-hover {
    position:absolute;
    top:931px;
    left:50%;
    transform:translateX(-50%);
    width:185px;
    height:54px;
    margin:0;
  }
}

/* Shared office map and footer (rendered from includes/footer.php). */
.site-office-section {
  width:100%;
  max-width:1920px;
  margin-inline:auto;
  padding:110px 16px 0;
  position:relative;
  z-index:1;
}
.site-office-section .office-map {
  width:100%;
  height:495px;
  min-height:495px;
  position:relative;
  overflow:hidden;
  border-radius:30px 30px 0 0;
  background:#d8d8d8;
  outline:none;
}
.site-office-section .office-map iframe {
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.site-office-section .office-map::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:rgba(1,15,29,.75);
  pointer-events:none;
  transform:scaleY(1);
  transform-origin:bottom;
  transition:transform .75s cubic-bezier(.16,1,.3,1);
}
.site-office-section .office-map-copy {
  position:absolute !important;
  inset:0 !important;
  z-index:1;
  display:flex !important;
  width:auto !important;
  height:auto !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
  clip:auto !important;
  white-space:normal !important;
  border:0 !important;
  color:#fff;
  text-align:center;
  opacity:1;
  pointer-events:none;
  transform:translateY(0);
  transition:
    opacity .45s ease .18s,
    transform .7s cubic-bezier(.16,1,.3,1) .1s;
}
.site-office-section .office-map:is(:hover,:focus,:focus-within)::after {
  transform:scaleY(0);
}
.site-office-section .office-map:is(:hover,:focus,:focus-within) .office-map-copy {
  opacity:0;
  transform:translateY(-28px);
}
.site-office-section .office-map-copy h2 {
  margin:0 0 20px;
  color:#fff;
  font:600 44px/1 'Poppins' !important;
}
.site-office-section .office-map-copy p {
  margin:0;
  color:rgba(255,255,255,.84);
  font:400 20px/1.4 'Poppins' !important;
}

@media (hover:none) {
  .site-office-section .office-map::after {
    transform:scaleY(1);
  }
  .site-office-section .office-map-copy {
    opacity:1;
    transform:translateY(0);
  }
}

@media (prefers-reduced-motion:reduce) {
  .site-office-section .office-map::after,
  .site-office-section .office-map-copy {
    transition:none;
  }
}
.site-footer {
  width:calc(100% - 32px);
  max-width:1888px;
  /* height:760px; */
  /* min-height:737px; */
  margin:-88px auto 16px;
  padding:80px 0 0;
  position:relative;
  z-index:2;
  overflow:hidden;
  isolation:isolate;
  border-radius:60px;
  color:#fff;
  background:#020702;
}
.site-footer::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-2;
  background:url('../images/solutions/green-orbit.webp') center/cover no-repeat;
}
.site-footer::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:rgba(0,0,0,.77);
}
.site-footer .solutions-shell {
  width:min(1376px,calc(100% - 80px));
  height:100%;
  margin-inline:auto;
}
.site-footer .footer-intro {
  max-width:50%;
  min-height:51px;
  margin:0 0 77px auto;
}
.site-footer .footer-intro strong {
  display:block;
  margin-bottom:7px;
  color:#fff;
  font:600 20px/24px 'Poppins';
}
.site-footer .footer-intro p {
  margin:0;
  color:#fff;
  font:400 16px/28px 'Poppins' !important;
}
.site-footer .footer-grid {
  height:395px;
  padding:50px 0 0;
  display:grid;
  grid-template-columns:1.44fr 1fr 1fr 1fr;
  gap:0;
  border-top:1px solid rgba(255,255,255,.13);
  border-bottom:0;
  width: 100%;
}
.site-footer .footer-column {
  height:343px;
  padding:0 28px;
  border-right:1px solid rgba(255,255,255,.25);
}
.site-footer .footer-column:first-child { padding-left:0; }
.site-footer .footer-column:last-child { padding-right:0; border-right:0; }
.site-footer .footer-column h3 {
  margin:0 0 18px;
  color:#fff;
  font:500 20px/30px 'Poppins' !important;
}
.site-footer .footer-column>a,
.site-footer .footer-column>p {
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 9px;
  color:#fff;
  text-decoration:none;
  font:400 15px/22.5px 'Poppins' !important;
}
.site-footer .footer-column>a:hover { color:#50ae33; }
.site-footer .footer-contact i { width:16px; margin-top:4px; text-align:center; }
.site-footer .footer-contact p span { display:block; }
.site-footer .footer-contact p strong { font-weight:700; }
.site-footer .footer-socials {
  display:flex;
  gap:23px;
  margin-top:19px;
}
.site-footer .footer-socials a {
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  color:#fff;
  text-decoration:none;
  font-size:18px;
}
.site-footer .footer-bottom {
  height:105px;
  margin:30px 0 0;
  padding:37px 12px 0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.13);
  color:#fff;
  font:400 15px/22.5px 'Poppins';
  width: 100%;
}
.site-footer .footer-bottom span:last-child { display:flex; gap:24px; }
.site-footer .footer-bottom a { color:#fff; text-decoration:none; }
.site-footer .footer-bottom a:hover { color:#50ae33; }

@media (max-width:991px) {
  .solutions-page header .container-fluid { justify-content:space-between !important; }
  .solutions-page header .navbar-brand {
    width:auto;
    /* flex:1 1 auto; */
  }
  .solutions-page header .navbar-toggler {
    margin-left:auto;
    border:0;
    box-shadow:none;
  }
  .solutions-page header .navbar-toggler-icon {/* filter:brightness(0) invert(1); */}
  .solutions-page header .sidebar { display:none; }

  .site-office-section { padding:70px 12px 0; }
  .site-office-section .office-map { height:360px; min-height:360px; }
  .site-office-section .office-map-copy h2 { font-size:36px !important; }
  .site-office-section .office-map-copy p { font-size:17px !important; }
  .site-footer {
    width:calc(100% - 24px);
    height: fit-content;
    min-height: fit-content;
    margin:-50px auto 12px;
    padding:60px 0 25px;
    border-radius:40px;
  }
  .site-footer .solutions-shell { width:calc(100% - 48px); }
  .site-footer .footer-intro { width:100%; max-width:100%; margin:0 0 45px; }
  .site-footer .footer-grid { height:auto; grid-template-columns:1fr 1fr; padding-top:35px; }
  .site-footer .footer-column { height:auto; min-height:280px; padding:25px 20px; border-bottom:1px solid rgba(255,255,255,.18); }
  .site-footer .footer-column:nth-child(2) { border-right:0; }
  .site-footer .footer-column:first-child { padding-left:20px; }
  .site-footer .footer-bottom { height:auto; margin-top:25px; padding:25px 0 0; }
}

@media (max-width:575px) {
  .site-office-section .office-map { height:280px; min-height:280px; }
  .site-office-section .office-map-copy { padding:24px !important; }
  .site-office-section .office-map-copy h2 { margin-bottom:14px; font-size:30px !important; }
  .site-office-section .office-map-copy p { font-size:15px !important; }
  .site-footer { margin-top:-35px; border-radius:30px; }
  .site-footer .solutions-shell { width:calc(100% - 32px); }
  .site-footer .footer-grid { grid-template-columns:1fr; }
  .site-footer .footer-column { min-height:0; padding:28px 0; border-right:0; }
  .site-footer .footer-column:first-child { padding-left:0; }
  .site-footer .footer-bottom {flex-direction:column;gap:14px;margin: 0 !important;}
  .site-footer .footer-bottom span:last-child { flex-wrap:wrap; }
}

/* Match the homepage layout: wide section surfaces with container-bound content. */
.solutions-page main > section {
  width: calc(100% - 20px);
  max-width:1888px;
  margin-left:auto;
  margin-right:auto;
}
.solutions-page .solutions-shell,
.solutions-page .services-container,
.site-footer .solutions-shell {
  width:100% !important;
  max-width:1320px !important;
  margin-left:auto;
  margin-right:auto;
  padding-left:12px;
  padding-right:12px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.industry-banner,
.industry-story {
  /* border-radius:30px; */
  overflow:hidden;
}
.industry-banner-inner {
  position:relative;
  z-index:1;
  display:flex;
  height:100%;
  align-items:center;
  justify-content:flex-end;
}
.industry-banner-copy {
  width:560px;
  padding-right:0;
}

@media (min-width:1200px) {
  .industry-section .industry-grid {
    grid-template-columns:340px repeat(2,minmax(0,1fr));
    gap:24px;
    width: 100%;
  }
  .industry-section .industry-tabs button {
    display:flex;
    width:100%;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:14px 20px;
    font-size: 20px;
    line-height:1.2;
    white-space:nowrap;
  }

  .industry-story .story-grid {
    grid-template-columns: minmax(0,1.6fr) minmax(0,.9fr);
    width:100% !important;
    /* height:566px; */
  }
  .industry-story .story-grid article {
    width:auto;
    padding:82px 200px 50px 0;
  }
  .industry-story .story-grid p { width:auto; }
  .industry-story .story-media {
    width:auto;
    margin-left:0;
  }

  .platform-section .platform-head {
    grid-template-columns: 50% minmax(0,1fr);
    gap:120px;
    padding:0;
    width: 100%;
  }
  .platform-section .feature-pills { padding:0; }
}

@media (max-width:1399px) {
  .solutions-page .solutions-shell,
  .solutions-page .services-container,
  .site-footer .solutions-shell { max-width:1140px !important; }
}

@media (max-width:1199px) {
  .solutions-page .solutions-shell,
  .solutions-page .services-container,
  .site-footer .solutions-shell { max-width:960px !important; }
  .industry-banner-copy { width:52%; }
}

@media (max-width:991px) {
  .solutions-page main > section { width:calc(100% - 24px); }
  .solutions-page .solutions-shell,
  .solutions-page .services-container,
  .site-footer .solutions-shell { max-width:720px !important; }
  .industry-banner-copy { width:60%; }
}

@media (max-width:767px) {
  .solutions-page .solutions-shell,
  .solutions-page .services-container,
  .site-footer .solutions-shell { max-width:540px !important; }
}

@media (max-width:575px) {
  .solutions-page main > section {/* width:calc(100% - 16px); */}
  .solutions-page .solutions-shell,
  .solutions-page .services-container,
  .site-footer .solutions-shell {
    max-width:none !important;
    padding-left: 12px;
    padding-right: 12px;
  }
  .industry-banner-inner {
    align-items:flex-end;
    justify-content:flex-start;
  }
  .industry-banner-copy {
    width:100%;
    padding:220px 10px 30px;
  }
}

/* Features page */
.features-page .features-core-section {
  padding:105px 0 0;
}

/* About page */
.about-page .about-intro {
  background:#fff;
}
.about-intro-grid {
  /* display:grid; */
  /* grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr); */
  /* gap:80px; */
  /* align-items:center; */
}
.about-intro-copy h2,
.about-section-heading h2,
.about-partner h2 {
  font-size:clamp(36px,3.35vw,64px) !important;
  line-height:1.08;
  letter-spacing:-.03em;
}
.about-intro-copy > p {
  max-width:690px;
  font-size:18px;
  line-height:1.75;
  color:#535353;
}
.about-benefits {
  display:flex;
  flex-wrap:wrap;
  gap:18px 26px;
  padding:10px 0 24px;
  margin: 50px 0 0;
  list-style:none;
}
.about-benefits li {
  position:relative;
  padding-left: 75px;
  font-weight:600;
}
.about-benefits li::before {
  content:'\f00c';
  font-family:'Font Awesome 6 Free';
  font-weight:900;
  position:absolute;
  left:0;
  color:#55b838;
}
.about-intro-media {
  /* position:relative; */
  /* min-height:570px; */
  width: 50%;
}
.about-main-image {
  position:absolute;
  top:0;
  right:0;
  width:68%;
  height:500px;
  border-radius:28px;
  object-fit:cover;
}
.about-secondary-image {
  position:absolute;
  bottom:0;
  left:0;
  width:53%;
  height:300px;
  border:14px solid #fff;
  border-radius:28px;
  object-fit:cover;
}
.about-philosophy {
  padding-top:40px !important;
}
.about-section-heading {
  max-width:900px;
  margin:0 auto 62px;
  text-align:center;
}
.about-section-heading > p {
  max-width:760px;
  margin:18px auto 0;
  color:#656565;
  line-height:1.7;
}
.about-philosophy-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:54px;
}
.about-philosophy-grid article {
  text-align:center;
}
.about-philosophy-grid article > span {
  display:grid;
  width: 75px;
  height: 75px;
  margin:0 auto 22px;
  border-radius:50%;
  place-items:center;
  color:#fff;
  font-weight:700;
  font-size: 30px;
  background: radial-gradient(circle, #50AE33 0%, #214815 100%);
}
.about-philosophy-grid h3 {
  margin-bottom:14px;
  font-size: 20px;
  font-weight: 700;
}
.about-philosophy-grid p {
  color:#656565;
  line-height:1.7;
}
.about-strategy {
  padding:100px 0 !important;
  color:#fff;
  text-align:center;
}
.about-strategy .about-section-heading h2 {
  color:#fff;
}
.about-strategy-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-bottom:42px;
  text-align:left;
}
.about-strategy-grid article {
  overflow:hidden;
  /* border:1px solid rgba(85,184,56,.35); */
  /* border-radius:22px; */
  /* background:rgba(4,21,13,.84); */
  transition:transform .45s ease,border-color .45s ease;
}
.about-strategy-grid article:hover {
  transform:translateY(-8px);
  border-color:#55b838;
}
.about-strategy-grid article > img {
  width:100%;
  height: 275px;
  object-fit:cover;
  border-radius: 20px;
}
.about-strategy-grid article > div {
  padding:26px;
  border: 2px solid rgba(85,184,56,.35);
  border-radius: 20px;
  margin-top: 20px;
}
.about-card-icon {
  display:grid;
  width: 50px;
  height: 50px;
  margin-bottom:18px;
  border-radius:50%;
  place-items:center;
  background:#55b838;
  padding: 8px;
}
.about-card-icon img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.about-strategy-grid h3 {
  color:#fff;
  font-size:24px;
}
.about-strategy-grid p {
  margin:0;
  color: rgb(255 255 255);
  line-height:1.65;
}
.about-partner-grid {
  display: grid !important;
  grid-template-columns:1fr 1fr;
  /* align-items:center; */
  /* min-height:590px; */
}
.about-partner-grid > img {
  width: 100%;
  height:500px;
  border-radius:28px;
  object-fit:cover;
}
.about-partner-grid article {
  position:relative;
  z-index:1;
  margin-left: -20%;
  padding:62px;
  border-radius: 50px !important;
  color:#fff;
  width: 120%;
  top: 180px;
  border: 15px solid;
}
.about-partner-grid article h2 {
  color:#fff;
  font-size:clamp(32px,2.5vw,48px) !important;
}

.about-resources-heading {
    text-align: center;
}

.about-intro-grid {
    display: flex;
}

.about-intro-copy {
    width: 50%;
    padding-right: 100px;
}

.about-intro-media img {
    width: 100%;
}

.about-benefits li::before {
    width: 60px;
    height: 60px;
    background: #50AE33;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: white;
    top: -5px;
}

.about-intro span.eyebrow {
    color: #202326;
}

.about-resources-heading p {
    width: 90%;
    margin: 20px auto 50px;
}

.about-section-heading span {
    text-transform: uppercase;
    color: #202326 !important;
    position: relative;
    top: -10px;
}

.about-strategy span.eyebrow {
    color: white !important;
}



.about-partner-grid ul {
  padding:0;
  margin:28px 0;
  list-style:none;
}
.about-partner-grid li {
  position:relative;
  padding:8px 0 8px 26px;
}
.about-partner-grid li::before {
  content:'\f00c';
  font-family:'Font Awesome 6 Free';
  font-weight:900;
  position:absolute;
  left:0;
  color:#55b838;
}
@media (max-width:991px) {
  .about-intro-grid,
  .about-partner-grid {
    grid-template-columns:1fr;
  }
  .about-intro-media {
    min-height:520px;
  }
  .about-philosophy-grid,
  .about-strategy-grid {
    grid-template-columns:1fr;
  }
  .about-partner-grid > img {
    width:100%;
  }
  .about-partner-grid article {
    margin:-90px 24px 0;
  }
}
@media (max-width:575px) {
  .about-intro-grid {
    gap:35px;
  }
  .about-intro-media {
    min-height:420px;
  }
  .about-main-image {
    width:82%;
    height:360px;
  }
  .about-secondary-image {
    width:58%;
    height:210px;
    border-width:8px;
  }
  .about-partner-grid > img {
    height:340px;
  }
  .about-partner-grid article {
    margin:-55px 12px 0;
    padding:34px 24px;
  }
}
.features-core-intro {
  margin-bottom:68px;
  text-align:center;
}
.features-core-intro h2 {
  margin:0 0 38px;
  font-size:64px !important;
  line-height:74px;
}
.features-core-intro p {
  width:min(1088px,100%);
  margin:0 auto;
  font-size:20px;
  line-height:36px;
}
.features-core-banner {
  display:block;
  width:100%;
  height:653px;
  object-fit:cover;
  border-radius:40px;
}
.features-grid-wrap {
  position:relative;
  z-index:2;
  margin-top:-106px;
}
.features-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:hidden;
  border-radius:50px;
  color:#fff;
  background:#06130d url('../images/feature-grid-background.webp') center/cover no-repeat;
}
.features-grid-card {
  min-height:300px;
  padding:38px 34px 30px;
  border-right:1px solid rgba(255,255,255,.15);
  border-bottom:1px solid rgba(255,255,255,.15);
}
.features-grid-card:nth-child(4n) { border-right:0; }
.features-grid-card:nth-last-child(-n+4) { border-bottom:0; }
.features-icon {
  position:relative;
  display:grid;
  width:84px;
  height:84px;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:#50ae33;
}
.features-icon img {
  position:absolute;
  width:48px;
  height:48px;
  object-fit:contain;
}
.features-icon img:nth-child(2) {
  width:43px;
  height:43px;
}
.features-grid-card h3 {
  margin:24px 0 12px;
  color:#fff;
  font-size:24px;
  font-weight:700;
  line-height:1.25;
}
.features-grid-card p {
  margin:0;
  color:#fff;
  font-size:16px;
  line-height:28px;
}

.features-page .feature-products-section {
  padding:160px 0 145px;
}
.feature-product-card {
  position:relative;
  margin-bottom:100px;
  isolation:isolate;
}
.feature-product-card:last-child { margin-bottom:0; }
.feature-product-body {
  position:relative;
  z-index:2;
  display:grid;
  min-height:520px;
  grid-template-columns:1fr 1fr;
  overflow:visible;
  border-radius:50px;
  color:#fff;
  background:#06130d url('../images/feature-grid-background.webp') center/cover no-repeat;
}
.feature-product-copy {
  position:relative;
  z-index:2;
  padding:50px;
}
.feature-product-copy h2 {
  margin:0 0 30px;
  color:#fff;
  font-size:40px !important;
  line-height:52px;
}
.feature-product-copy ul {
  display:grid;
  gap:16px;
  margin:0;
  padding:0;
  list-style:none;
}
.feature-product-copy li {
  color:#fff;
  font:400 16px/24px 'Poppins';
}
.feature-product-copy li strong { font-weight:700; }
.feature-product-copy .btn-hover { margin-top:30px; }
.feature-product-media {
  position:relative;
  z-index:3;
  display:grid;
  min-width:0;
  place-items:center;
}
.feature-product-media img {
  display:block;
  width:110%;
  max-width:none;
  max-height:680px;
  object-fit:contain;
}
.feature-product-left .feature-product-copy { order:2; }
.feature-product-left .feature-product-media { order:1; }
.feature-product-card:nth-child(1) .feature-product-media img {
  width:116%;
  transform:translateY(-25px);
}
.feature-product-card:nth-child(2) .feature-product-media img { width:96%; }
.feature-product-card:nth-child(3) .feature-product-media img { width:108%; }
.feature-product-tagline {
  position:relative;
  z-index:1;
  display:flex;
  min-height:126px;
  align-items:flex-end;
  justify-content:center;
  margin:-50px 0 0;
  padding:0 40px 23px;
  border-radius:0 0 50px 50px;
  color:#fff;
  background:#50ae33;
  font-family:'Inter' !important;
  font-size:24px !important;
  font-weight:500 !important;
  line-height:30px !important;
  text-align:center;
}

.features-cta-section {
  position:relative;
  display:grid;
  height:500px;
  margin-top:114px;
  place-items:center;
  overflow:hidden;
  border-radius:30px;
  color:#fff;
  background:linear-gradient(180deg,#070807 50%,#147b04 100%);
}
.features-cta-section::before,
.features-cta-section::after {
  content:'';
  position:absolute;
  width:466px;
  height:466px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%,rgba(80,174,51,.75),rgba(10,69,7,.15) 55%,transparent 70%);
}
.features-cta-section::before { left:-162px; bottom:-217px; }
.features-cta-section::after { right:-222px; top:-234px; }
.features-cta-section .solutions-shell {
  position:relative;
  z-index:1;
  text-align:center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.features-cta-section h2 {
  margin:0;
  color:#fff;
  font-size:40px !important;
  line-height:52px;
}
.features-cta-section .btn-hover { margin-top:44px; }

@media (max-width:1199px) {
  .features-core-intro h2 { font-size:52px !important; }
  .features-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .features-grid-card:nth-child(4n) { border-right:1px solid rgba(255,255,255,.15); }
  .features-grid-card:nth-child(2n) { border-right:0; }
  .features-grid-card:nth-last-child(-n+4) { border-bottom:1px solid rgba(255,255,255,.15); }
  .features-grid-card:nth-last-child(-n+2) { border-bottom:0; }
  .feature-product-copy { padding:42px; }
  .feature-product-copy h2 { font-size:34px !important; line-height:44px; }
  .feature-product-media img { width:100%; }
  .feature-product-card:nth-child(1) .feature-product-media img,
  .feature-product-card:nth-child(3) .feature-product-media img { width:108%; }
}

@media (max-width:767px) {
  .features-page .features-core-section { padding-top:70px; }
  .features-core-intro { margin-bottom:45px; }
  .features-core-intro h2 {
    margin-bottom:24px;
    font-size:40px !important;
    line-height:1.2;
  }
  .features-core-intro p { font-size:16px; line-height:28px; }
  .features-core-banner { height:360px; border-radius:30px; }
  .features-grid-wrap { margin-top:-50px; }
  .features-grid { border-radius:30px; }
  .features-grid-card { min-height:270px; padding:30px 24px; }
  .features-grid-card h3 { font-size:21px; }

  .features-page .feature-products-section { padding:100px 0; }
  .feature-product-body { grid-template-columns:1fr; overflow:hidden; border-radius:30px; }
  .feature-product-copy,
  .feature-product-left .feature-product-copy { order:1; padding:35px 30px 25px; }
  .feature-product-media,
  .feature-product-left .feature-product-media { order:2; min-height:330px; }
  .feature-product-copy h2 { font-size:32px !important; line-height:40px; }
  .feature-product-card:nth-child(n) .feature-product-media img {
    width:100%;
    max-height:390px;
    transform:none;
  }
  .feature-product-tagline {
    min-height:110px;
    padding:0 24px 20px;
    border-radius:0 0 30px 30px;
    font-size:19px !important;
    line-height:27px !important;
  }
  .features-cta-section { height:400px; }
  .features-cta-section h2 { font-size:32px !important; line-height:42px; }
}

@media (max-width:575px) {
  .features-page,
  .features-page main {
    width:100%;
    max-width:100vw;
    overflow-x:hidden;
  }
  .features-page main > section {
    width:calc(100vw - 16px);
    max-width:calc(100vw - 16px);
  }
  .features-page .solutions-shell {
    width:100% !important;
    max-width:100% !important;
  }
  .features-core-banner { height:260px; }
  .features-grid { grid-template-columns:1fr; }
  .features-grid-card,
  .features-grid-card:nth-child(2n),
  .features-grid-card:nth-child(4n),
  .features-grid-card:nth-last-child(-n+4) {
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.15);
  }
  .features-grid-card:last-child { border-bottom:0; }
  .feature-product-copy { padding:32px 24px 24px; }
  .feature-product-copy h2 { font-size:28px !important; line-height:36px; }
  .feature-product-copy li { font-size:15px; line-height:23px; }
  .features-core-intro p,
  .features-grid-card h3,
  .features-grid-card p,
  .feature-product-copy,
  .feature-product-tagline {
    max-width:100%;
    overflow-wrap:anywhere;
  }
  .feature-product-media,
  .feature-product-left .feature-product-media { min-height:270px; }
  .features-cta-section h2 { font-size:28px !important; line-height:38px; }
}

/* Pricing page */
.pricing-intro-section {
  height:319px;
  display:grid;
  place-items:center;
  text-align:center;
}
.pricing-intro-section h2 {
  margin:0 0 24px;
  color:#1e1e1e;
  font-size:64px !important;
  font-weight:700 !important;
  line-height:74px;
}
.pricing-intro-section p {
  margin:0;
  color:#1e1e1e;
  font-size:20px;
  line-height:30px;
}

.pricing-plans-section {
  height:1880px;
  padding:76px 0;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-radius:50px;
  color:#fff;
  background:#001223;
}
.pricing-plans-section::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    url('../images/solutions/green-orbit.webp') center/cover no-repeat,
    url('../images/pricing-plans-overlay.jpg') center/cover no-repeat;
  background-blend-mode:lighten,normal;
}
.pricing-plans-section::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:rgba(0,0,0,.6);
}
.pricing-plans-inner { height:100%; }
.pricing-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:start;
}
.pricing-plan { min-width:0; }
.pricing-plan-image {
  display:block;
  width:100%;
  aspect-ratio:1.25 / 1;
  object-fit:cover;
  border:2px solid rgba(255,255,255,.35);
  border-radius:30px;
}
.pricing-plan-body {
  min-height:758px;
  margin-top:20px;
  padding:30px 30px 46px;
  border:2px solid rgba(80,174,51,.45);
  border-radius:20px;
  background:rgba(0,16,42,.18);
}
.pricing-plan-plus .pricing-plan-body { min-height:938px; }
.pricing-plan-premium .pricing-plan-body { min-height:1058px; }
.pricing-plan-body h3 {
  margin:0 0 12px;
  color:#fff;
  font-size:26px;
  font-weight:700;
  line-height:32px;
}
.pricing-plan-description {
  min-height:78px;
  margin:0;
  color:#fff;
  font-size:16px !important;
  line-height:21px !important;
}
.pricing-plan-body h4 {
  margin:31px 0 14px;
  color:#fff;
  font:700 28px/34px 'Inter';
  text-transform:none !important;
}
.pricing-plan-button {
  width:100%;
  height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  color:#fff;
  background:#50ae33;
  box-shadow:0 8px 16px rgba(80,174,51,.3);
  font:500 16px/24px 'Poppins';
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.pricing-plan-button:hover,
.pricing-plan-button:focus-visible {
  color:#fff;
  background:#5dbd3e;
  box-shadow:0 10px 22px rgba(80,174,51,.4);
  transform:translateY(-2px);
}
.pricing-plan-body h5 {
  margin:28px 0 16px;
  color:#fff;
  font:700 18px/28px 'Inter';
}
.pricing-feature-list {
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.pricing-feature-list li {
  min-width:0;
  height:50px;
  display:grid;
  grid-template-columns:50px minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.pricing-feature-list span {
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border:1px solid #fff;
  border-radius:50%;
  color:#fff;
  font:700 16px/1 'Inter';
}
.pricing-feature-list em {
  height:48px;
  display:flex;
  min-width:0;
  align-items:center;
  padding:0 12px;
  overflow:hidden;
  border-radius:60px;
  color:#fff;
  background:rgba(255,255,255,.12);
  font:400 15px/20px 'Poppins';
  font-style:normal;
  white-space:nowrap;
}
.custom-pricing {
  margin-top:70px;
  color:#fff;
  text-align:center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.custom-pricing h2 {
  margin:0 0 26px;
  color:#fff;
  font-size:40px !important;
  font-weight:700 !important;
  line-height:48px;
}
.custom-pricing p {
  margin:0;
  color:#fff;
  font-size:16px;
  line-height:20px;
}
.custom-pricing .btn-hover {
  margin-top:52px;
}

.pricing-page .faq-section { margin-top:128px; }
.pricing-page .trust-cta-section { margin-top:128px; }
.support-cta-section {
  height:304px;
  display:grid;
  place-items:center;
  text-align:center;
}
.support-cta-section h2 {
  margin:0;
  color:#1e1e1e;
  font-size:40px !important;
  font-weight:700 !important;
  line-height:48px;
}
.support-cta-section .btn-hover {
  width:185px;
  height:54px;
  margin-top:31px;
  border:1px solid rgba(0,0,0,.34);
  background:linear-gradient(90deg,#0e3c09,#3d8d36,#0e3c09);
}
.pricing-page .site-office-section,
.resources-page .site-office-section { padding-top:0; }

@media (max-width:1199px) {
  .pricing-intro-section { height:auto; padding:90px 0; }
  .pricing-intro-section h2 { font-size:52px !important; line-height:1.15; }
  .pricing-plans-section { height:auto; min-height:0; padding:70px 0; }
  .pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pricing-plan-body,
  .pricing-plan-plus .pricing-plan-body,
  .pricing-plan-premium .pricing-plan-body { min-height:auto; }
  .pricing-plan-description { min-height:84px; }
  .custom-pricing { margin-top:80px; }
}

@media (max-width:767px) {
  .pricing-intro-section { padding:70px 0; }
  .pricing-intro-section h2 { margin-bottom:20px; font-size:40px !important; }
  .pricing-intro-section p { font-size:16px; line-height:26px; }
  .pricing-plans-section { border-radius:30px; }
  .pricing-grid { grid-template-columns:1fr; gap:55px; }
  .pricing-plan { width:min(100%,520px); margin-inline:auto; }
  .pricing-plan-description { min-height:0; }
  .pricing-plan-body { padding:30px 24px 36px; }
  .custom-pricing p br { display:none; }
  .pricing-page .faq-section,
  .pricing-page .trust-cta-section { margin-top:70px; }
  .support-cta-section { height:260px; }
  .support-cta-section h2 { font-size:32px !important; line-height:40px; }
}

/* Resources page */
.resources-intro-section {
  height:1060px;
  padding-top:110px;
  text-align:center;
}
.resources-intro-section h2,
.resources-guides-section > h2 {
  margin:0;
  color:#1e1e1e;
  font-size:64px !important;
  font-weight:700 !important;
  line-height:74px;
}
.resources-intro-section p {
  max-width:1320px;
  margin:24px auto 0;
  color:#1e1e1e;
  font-size:20px;
  line-height:30px;
}
.resources-intro-banner {
  display:block;
  width:100%;
  height:603px;
  margin-top:88px;
  object-fit:cover;
  object-position:center 52%;
  border-radius:30px;
}
.resources-guides-section {
  min-height:1106px;
}
.resources-guides-section > h2 {
  text-align:center;
}
.resource-tabs {
  width:min(1011px,calc(100% - 32px));
  height:100px;
  display:grid;
  grid-template-columns:1.06fr 1.04fr .88fr;
  gap:15px;
  margin:47px auto 82px;
  padding:12px;
  border:2px solid #dedede;
  border-radius:999px;
  background:#fff;
}
.resource-tab {
  min-width:0;
  border:0;
  border-radius:999px;
  color:#1e1e1e;
  background:#e8e8e8;
  font:500 24px/1 'Poppins';
  transition:color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.resource-tab:hover,
.resource-tab:focus-visible {
  color:#1e1e1e;
  background:#dedede;
}
.resource-tab:focus-visible {
  outline:3px solid rgba(80,174,51,.35);
  outline-offset:3px;
}
.resource-tab.is-active,
.resource-tab.is-active:hover,
.resource-tab.is-active:focus-visible {
  color:#fff;
  background:#50ae33;
  box-shadow:0 8px 18px rgba(80,174,51,.18);
}
.resource-panel {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  animation:resourcePanelIn .28s ease both;
}
.resource-panel[hidden] { display:none; }
.resource-mosaic-column {
  display:grid;
  gap:17px;
  grid-template-rows:262px 502px;
  min-width:0;
}
.resource-mosaic-column-reverse { grid-template-rows:502px 262px; }
.resource-card {
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  padding:38px 48px;
  border-radius:30px;
  color:#1e1e1e;
  background:#e9e9e9;
}
.resource-card h3 {
  margin:0 0 20px;
  color:#1e1e1e;
  font-size:40px;
  font-weight:700;
  line-height:48px;
}
.resource-card p {
  margin:0;
  color:#1e1e1e;
  font-size:16px;
  line-height:26px;
}
.resource-image {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:30px;
}
.resources-page .faq-section { margin-top:161px; }
.resources-page .trust-cta-section { margin-top:95px; }

@keyframes resourcePanelIn {
  from { opacity:0; transform:translateY(8px); }
  to { opacity:1; transform:none; }
}

@media (max-width:1199px) {
  .resources-intro-section { height:auto; padding:90px 0 120px; }
  .resources-intro-section h2,
  .resources-guides-section > h2 { font-size:52px !important; line-height:1.15; }
  .resources-intro-section p { font-size:18px; line-height:29px; }
  .resources-intro-banner { height:480px; margin-top:70px; }
  .resource-tabs { margin-top:40px; }
  .resource-card { padding:32px; }
  .resource-card h3 { font-size:32px; line-height:40px; }
}

@media (max-width:767px) {
  .resources-intro-section { padding:70px 0 90px; }
  .resources-intro-section h2,
  .resources-guides-section > h2 { font-size:40px !important; line-height:48px; }
  .resources-intro-section p { font-size:16px; line-height:27px; }
  .resources-intro-banner { height:310px; margin-top:55px; border-radius:24px; }
  .resources-guides-section { min-height:0; padding-bottom:70px; }
  .resource-tabs {
    width:100%;
    height:72px;
    gap:7px;
    margin:34px auto 50px;
    padding:8px;
  }
  .resource-tab { font-size:14px; }
  .resource-panel { grid-template-columns:1fr; gap:17px; }
  .resource-mosaic-column,
  .resource-mosaic-column-reverse { grid-template-rows:210px 390px; }
  .resource-mosaic-column-reverse { grid-template-rows:390px 210px; }
  .resource-card { padding:28px 24px; border-radius:24px; }
  .resource-card h3 { margin-bottom:12px; font-size:28px; line-height:35px; }
  .resource-card p { font-size:14px; line-height:23px; }
  .resource-image { border-radius:24px; }
  .resources-page .faq-section,
  .resources-page .trust-cta-section { margin-top:70px; }
}

@media (max-width:420px) {
  .resources-intro-banner { height:240px; }
  .resource-tabs { gap:5px; padding:6px; }
  .resource-tab { font-size:11px; }
  .resource-mosaic-column,
  .resource-mosaic-column-reverse { grid-template-rows:auto 300px; }
  .resource-mosaic-column-reverse { grid-template-rows:300px auto; }
  .resource-card { min-height:215px; }
}

@media (max-width:420px) {
  .pricing-plan-body h3 { font-size:23px; }
  .pricing-feature-list li { grid-template-columns:42px minmax(0,1fr); gap:8px; }
  .pricing-feature-list span { width:42px; height:42px; }
  .pricing-feature-list em { height:44px; padding:0 10px; font-size:13px; }
  .custom-pricing h2 { font-size:32px !important; line-height:40px; }
}

/* Shared website typography
   Section headings and body copy follow the homepage scale. */
body.home-page.home-page main h2,
body.solutions-page.solutions-page main h2 {
  font-family:'Inter' !important;
  font-size:50px !important;
  font-weight:600 !important;
  line-height:60px !important;
}

body.home-page.home-page main p,
body.solutions-page.solutions-page main p {
  font-family:'Poppins' !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:24px !important;
}

@media (max-width:767px) {
  body.home-page.home-page main h2,
  body.solutions-page.solutions-page main h2 {
    font-size: 30px !important;
    line-height:42px !important;
    margin-bottom: 20px !important;
  }

  body.home-page.home-page main p,
  body.solutions-page.solutions-page main p {
    font-size: 14px !important;
    line-height: 22px !important;
  }
}

/* Why InterpayFlow page */
.why-interpay-page .solutions-hero {
  height:682px;
  min-height:682px;
}
.why-trust-section {
  padding:128px 0 90px !important;
}
.why-trust-grid {
  display: grid !important;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.why-trust-grid article,
.why-trust-grid > img {
  min-height:670px;
  border-radius: 30px;
}
.why-trust-grid article {
  padding: 50px 30px;
  background:#eee;
}
.why-trust-grid h2,
.why-service-card h2,
.why-benefits-heading h2 {
  color:#202326;
  font-size:64px !important;
  line-height:1.08;
  letter-spacing:-.03em;
}
.why-trust-grid p {
  margin:28px 0;
  color:#292929;
  font-size:18px;
  line-height:1.75;
}
.why-trust-grid > img {
  width:100%;
  object-fit:cover;
}
.why-services-section {
  padding:20px 0 130px !important;
}
.why-service-card {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  /* min-height:620px; */
  overflow:hidden;
  border: 1px solid #cfcfcf73;
  border-radius: 30px;
}
.why-service-card + .why-service-card {
  margin-top:30px;
}
.why-service-card > img {
  width:100%;
  height:100%;
  /* min-height:620px; */
  object-fit:cover;
}
.why-service-card > div {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:80px 110px;
}
.why-service-card h2 {
  margin-bottom:28px;
  font-size:52px !important;
}
.why-service-card p {
  max-width:720px;
  color:#333;
  font-size:16px;
  line-height:1.75;
}
.why-service-device > img {
  border-radius: 30px 50% 0 30px;
}
.why-service-support {
  grid-template-columns:1.5fr 1fr;
}
.why-service-support > img {
  border-radius: 50% 30px 30px 0;
}
.why-benefits-section {
  padding:25px 0 150px !important;
}
.why-benefits-heading {
  display:grid;
  grid-template-columns:180px 1fr 180px;
  align-items:center;
  margin-bottom:50px;
  text-align:center;
}
.why-benefits-heading > div {
  grid-column:2;
}
.why-benefits-heading h2 {
  margin-bottom:18px;
  font-size:48px !important;
}
.why-benefits-heading p {
  max-width:780px;
  margin:0 auto;
  color:#444;
}
.why-benefits-heading .btn-hover {
  grid-column:3;
  grid-row:1;
  justify-self:end;
}
.why-benefits-stage {
  position:relative;
  min-height:740px;
  width: 100%;
}
.why-benefits-stage > img {
  position:absolute;
  left:50%;
  top:20px;
  width:600px;
  height:650px;
  object-fit:contain;
  transform:translateX(-50%);
}
.why-benefit {
  position:absolute;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  min-width:220px;
  color:#202326;
  text-align:center;
  font-size:20px;
}
.why-benefit span {
  display:grid;
  width:74px;
  height:74px;
  border:5px solid #fff;
  border-radius:50%;
  place-items:center;
  color:#fff;
  background:#50ae33;
  box-shadow:0 0 0 2px #b9dcb0;
  font-size:34px;
}
.why-benefit-fast { left:5%; top:35px; }
.why-benefit-instant { right:5%; top:115px; }
.why-benefit-swift { left:12%; bottom:55px; }
.why-benefit-zero { right:11%; bottom:5px; }
@media (max-width:1199px) {
  .why-interpay-page .solutions-hero { height:560px; min-height:560px; }
  .why-trust-grid article { padding:55px; }
  .why-trust-grid h2 { font-size:46px !important; }
  .why-service-card > div { padding:55px; }
  .why-service-card h2 { font-size:42px !important; }
  .why-benefits-stage > img { width:500px; }
}
@media (max-width:991px) {
  .why-trust-grid,
  .why-service-card,
  .why-service-support {
    grid-template-columns:1fr;
  }
  .why-trust-grid article,
  .why-trust-grid > img {
    min-height:520px;
  }
  .why-service-card > img {
    min-height:430px;
  }
  .why-service-support > div { order:2; }
  .why-service-support > img { order:1; }
  .why-benefits-stage {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:35px;
    min-height:0;
  }



  .why-benefits-stage > img {
    position:relative;
    grid-column:1 / -1;
    left:auto;
    top:auto;
    width:100%;
    height:520px;
    transform:none;
  }
  .why-benefit {
    position:static;
    min-width:0;
  }
}
@media (max-width:575px) {
  .why-interpay-page .solutions-hero { height:430px; min-height:430px; }
  .why-trust-grid article { padding:38px 26px; }
  .why-trust-grid h2,
  .why-service-card h2 { font-size:36px !important; }
  .why-service-card > div { padding:42px 26px; }
  .why-benefits-heading { display:block; }
  .why-benefits-heading .btn-hover { margin-top:24px; }
  .why-benefits-stage { grid-template-columns:1fr; }
  .why-benefits-stage > img { height:390px; }
}

/* Products placeholder */
.products-coming-soon {
  min-height:680px;
  display:grid;
  place-items:center;
  padding:100px 0;
  text-align:center;
}
.products-coming-soon h2 {
  margin:12px 0 20px;
  font-size:72px !important;
}
.products-coming-soon p {
  max-width:620px;
  margin:0 auto 30px;
  color:#555;
}
.products-coming-soon .btn-hover {
  margin-inline:auto;
}
  