:root {
  --green: #3f9e34;
  --green-dark: #2e7d27;
  --teal: #00a99d;
  --field: #6eb43f;
  --ink: #404a3d;
  --text: #6f786b;
  --line: #e2e4de;
  --soft: #f6f4ec;
  --cream: #f9f7ef;
  --white: #fff;
  --black: #111;
  --shadow: 0 18px 45px rgba(36, 46, 31, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, Arial, sans-serif;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
.container { width: min(1170px, calc(100% - 42px)); margin: 0 auto; }
.center-title { text-align: center; }
.eyebrow {
  margin: 0 0 10px;
  color: var(--green);
  font-family: "Amatic SC", cursive;
  font-size: 33px;
  line-height: 1;
  font-weight: 700;
}
.leaf {
  width: 54px;
  height: 21px;
  margin: 14px 0 24px;
  background:
    radial-gradient(ellipse at 20% 50%, var(--green) 0 42%, transparent 43%),
    radial-gradient(ellipse at 55% 50%, #8dc63f 0 42%, transparent 43%),
    radial-gradient(ellipse at 84% 50%, #bfd84b 0 42%, transparent 43%);
}
.center-title .leaf { margin-left: auto; margin-right: auto; }
h1, h2, h3 { color: var(--ink); letter-spacing: 0; }
h2 { margin: 0; font-size: clamp(34px, 5vw, 54px); line-height: 1.04; font-weight: 800; }
.lead { color: var(--text); font-size: 18px; line-height: 1.78; }

.preloader {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: grid;
  place-items: center;
  gap: 20px;
  align-content: center;
  background: #fff;
  transition: opacity .45s ease, visibility .45s ease;
}
.preloader.done {
  opacity: 0;
  visibility: hidden;
}
.preloader-logo {
  font-size: 34px;
  color: #3a8f32;
  font-weight: 700;
}
.preloader-logo span { color: #557c42; }
.preloader-logo b { color: #9eb63c; }
.preloader-ring {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 4px solid #e3eddc;
  border-top-color: var(--green);
  animation: spin .9s linear infinite;
}

.site-header {
  position: fixed;
  top: 0;
  left: 15px;
  right: 0;
  z-index: 1000;
  height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  padding: 0 clamp(22px, 4vw, 54px);
  background: rgba(255, 255, 255, .98);
  border-bottom: 1px solid rgba(0,0,0,.07);
  transition: height .25s ease, box-shadow .25s ease;
}
.site-header.scrolled {
  height: 72px;
  box-shadow: 0 12px 32px rgba(0,0,0,.08);
}
.logo-word, .footer-logo {
  display: inline-flex;
  align-items: center;
  font-size: 31px;
  color: #3a8f32;
  font-weight: 500;
  letter-spacing: -1px;
}
.logo-word span, .footer-logo span { color: #557c42; }
.logo-word::after {
  content: "";
  width: 10px;
  height: 34px;
  margin-left: -58px;
  margin-right: 48px;
  transform: rotate(18deg);
  border-radius: 50% 50% 8px 8px;
  background: var(--green);
}
.logo-word b, .footer-logo b { color: #9eb63c; margin-left: 2px; }
.site-logo-img {
  width: 178px;
  height: auto;
}
.main-nav { display: flex; align-items: center; gap: 2px; }
.nav-item { position: relative; }
.nav-item > a, .search-trigger {
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding: 0 10px;
  color: #222;
  font-size: 14px;
  font-weight: 700;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.header-socials, .quick-socials {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 8px;
}
.quick-socials {
  display: none;
  margin-left: auto;
}
.header-socials a, .quick-socials a {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f0f5ee;
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.header-socials a:hover, .quick-socials a:hover {
  background: var(--green);
  color: #fff;
  transform: translateY(-2px);
}
.header-socials a:nth-child(1), .quick-socials a:nth-child(1), .socials a:nth-child(1) { color: #0077b5; }
.header-socials a:nth-child(2), .quick-socials a:nth-child(2), .socials a:nth-child(2) { color: #1877f2; }
.header-socials a:nth-child(3), .quick-socials a:nth-child(3), .socials a:nth-child(3) { color: #111; }
.header-socials a:nth-child(4), .quick-socials a:nth-child(4), .socials a:nth-child(4) { color: #ff0000; }
.socials a:nth-child(5) { color: #4b5563; }
.header-socials a:hover, .quick-socials a:hover, .socials a:hover { color: #fff; background: var(--green); }
.caret { margin-left: 5px; font-size: 11px; }
.dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 270px;
  padding: 12px 0;
  background: #fff;
  border-top: 3px solid var(--green);
  box-shadow: var(--shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: .22s ease;
}
.dropdown a {
  display: block;
  padding: 11px 18px;
  color: #414141;
  font-size: 14px;
  font-weight: 700;
}
.dropdown a:hover { background: #f0f7ec; color: var(--green-dark); }
.has-dropdown:hover .dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  padding: 7px;
}
.nav-toggle span { display: block; height: 3px; margin: 6px 0; background: #222; }

.search-panel {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: grid;
  place-items: start center;
  padding-top: 120px;
  background: rgba(0,0,0,.58);
  opacity: 0;
  pointer-events: none;
  transition: .25s ease;
}
.search-panel.open { opacity: 1; pointer-events: auto; }
.search-box {
  width: min(680px, calc(100% - 32px));
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 0;
  background: #fff;
  box-shadow: var(--shadow);
}
.search-box input { border: 0; padding: 20px; font-size: 20px; min-width: 0; }
.search-box button { border: 0; padding: 0 20px; background: var(--green); color: #fff; font-weight: 800; cursor: pointer; }
.search-box button:last-child { background: #202020; font-size: 25px; }

.hero-slider {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: #222;
}
.hero-slide {
  position: absolute;
  inset: 0;
  display: grid;
  align-items: center;
  padding: 130px 0 75px;
  opacity: 0;
  pointer-events: none;
  background-image: var(--hero-bg);
  background-size: cover;
  background-position: center;
  transform: scale(1.04);
  transition: opacity 1.05s ease, transform 7s ease;
}
.hero-slide.active { opacity: 1; pointer-events: auto; transform: scale(1); }
.hero-slide.leaving { opacity: 0; transform: scale(1.08); }
.hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.64), rgba(0,0,0,.34), rgba(0,0,0,.1));
}
.hero-content {
  position: relative;
  width: min(1040px, calc(100% - 42px));
  margin: 0 auto;
  color: #fff;
}
.hero-slide.active .hero-content { animation: slideUp .88s ease both; }
.hero-content h1 {
  max-width: 950px;
  margin: 0 0 26px;
  color: #fff;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: clamp(52px, 8.2vw, 98px);
  line-height: .98;
  text-transform: uppercase;
  font-weight: 900;
}
.hero-content p {
  max-width: 920px;
  margin: 0 0 30px;
  color: #fff;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: clamp(18px, 2vw, 24px);
  text-transform: uppercase;
  letter-spacing: .15em;
  line-height: 1.5;
  font-weight: 700;
}
.hero-accent {
  display: block;
  width: min(360px, 52vw);
  height: 4px;
  margin-top: 18px;
  background: #f1dc4d;
}
.hero-dots {
  position: absolute;
  z-index: 3;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  gap: 12px;
}
.hero-dots button {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 3px solid #fff;
  background: transparent;
  cursor: pointer;
}
.hero-dots button.active { background: #f1dc4d; }

.about-one, .platform, .brand-strip, .testimonials, .videos, .blog-section, .inner-content, .form-section, .resource-band {
  padding: 96px 0;
}
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.image-stack { position: relative; min-height: 560px; }
.image-stack .shape {
  position: absolute;
  left: 18px;
  top: 24px;
  width: 70%;
  height: 78%;
  background: #ebf5df;
  border-radius: 48% 8px 8px 8px;
}
.main-img {
  position: absolute;
  left: 0;
  top: 70px;
  width: 76%;
  height: 430px;
  object-fit: cover;
  box-shadow: var(--shadow);
}
.small-img {
  position: absolute;
  right: 0;
  bottom: 5px;
  width: 48%;
  height: 260px;
  object-fit: cover;
  border: 12px solid #fff;
  box-shadow: var(--shadow);
}
.focus-badge {
  position: absolute;
  left: 52%;
  top: 36%;
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 42px;
  box-shadow: 0 8px 0 #e4efd8;
}
.platform { background: var(--cream); }
.role-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 34px 0 56px;
}
.role-card {
  min-height: 150px;
  display: grid;
  place-items: center;
  gap: 12px;
  padding: 24px;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 14px 34px rgba(50, 65, 40, .08);
  transition: transform .25s ease, box-shadow .25s ease;
}
.role-card:hover { transform: translateY(-8px); box-shadow: var(--shadow); }
.role-icon { font-size: 42px; color: var(--green); font-weight: 900; }
.role-card strong { text-transform: lowercase; font-size: 22px; }
.solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; text-align: left; }
.solution-card {
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(60, 70, 50, .12);
  transition-delay: var(--delay, 0ms);
}
.solution-content { padding: 34px 30px 30px; min-height: 245px; }
.solution-content h3 { margin: 0 0 14px; font-size: 26px; line-height: 1.2; }
.solution-content p { margin: 0; color: var(--text); line-height: 1.72; }
.solution-img { position: relative; display: block; overflow: hidden; }
.solution-img img { width: 100%; height: 250px; object-fit: cover; transition: transform .4s ease; }
.solution-img span {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--green);
  font-size: 31px;
}
.solution-card:hover .solution-img img { transform: scale(1.08); }
.cta-band {
  position: relative;
  padding: 84px 0;
  color: #fff;
  background-image: linear-gradient(rgba(50, 140, 42, .82), rgba(50, 140, 42, .82)), var(--cta-bg);
  background-size: cover;
  background-position: center;
  text-align: center;
}
.cta-band h2 { margin: 0 auto 32px; max-width: 1040px; color: #fff; font-size: clamp(26px, 3.2vw, 36px); line-height: 1.4; }
.btn-light {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  padding: 0 30px;
  background: #fff;
  color: var(--green-dark);
  font-weight: 900;
  border-radius: 3px;
}
.brand-strip { background: #fff; }
.brand-strip h3 { font-size: 34px; margin: 0; }
.logo-marquee { overflow: hidden; padding: 18px 0; }
.logo-track { display: flex; width: max-content; gap: 20px; animation: marquee 26s linear infinite; }
.logo-tile {
  width: 164px;
  height: 92px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  background: #fff;
  filter: grayscale(1);
  opacity: .78;
  transition: .2s ease;
}
.logo-tile:hover { filter: grayscale(0); opacity: 1; }
.logo-tile img { max-height: 62px; max-width: 128px; object-fit: contain; }
.testimonials { background: #f3f0e4; }
.testimonial-title h2 { margin: 0; }
.testimonial-slider { position: relative; min-height: 355px; }
.testimonial {
  position: absolute;
  inset: 0 0 38px;
  opacity: 0;
  transform: translateX(24px);
  transition: .75s ease;
  background: #fff;
  padding: 46px;
  box-shadow: var(--shadow);
}
.testimonial.active { opacity: 1; transform: translateX(0); }
.testimonial p { margin: 0 0 30px; color: var(--text); font-size: 18px; line-height: 1.7; }
.client { display: flex; gap: 18px; align-items: center; }
.client img { width: 86px; height: 62px; object-fit: contain; }
.client strong { display: block; font-size: 19px; color: var(--ink); }
.client span { color: var(--green); font-size: 13px; font-weight: 800; text-transform: uppercase; }
.testimonial-dots {
  position: absolute;
  left: 46px;
  bottom: 0;
  display: flex;
  gap: 8px;
}
.testimonial-dots button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 0;
  background: #b9c2b4;
  cursor: pointer;
}
.testimonial-dots button.active { background: var(--green); }
.videos { background: #fff; }
.video-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 34px; }
.video-card { position: relative; background: #111; box-shadow: var(--shadow); }
.video-card iframe { display: block; width: 100%; height: 315px; border: 0; }
.newsletter {
  padding: 74px 0;
  background: linear-gradient(135deg, #6ab238, #2f7d2b);
  color: #fff;
}
.newsletter-inner { display: grid; grid-template-columns: 1fr 1.15fr; gap: 40px; align-items: center; }
.newsletter h2 { color: #fff; margin: 0; font-size: clamp(32px, 4vw, 48px); }
.newsletter form { display: grid; grid-template-columns: 1fr auto; background: #fff; padding: 8px; }
.newsletter input { border: 0; padding: 0 18px; min-height: 58px; min-width: 0; }
.newsletter button { border: 0; padding: 0 26px; background: #111; color: #fff; font-weight: 900; cursor: pointer; }
.blog-section { background: var(--cream); }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 34px; text-align: left; }
.blog-card { background: #fff; box-shadow: 0 12px 35px rgba(60, 70, 50, .1); transition-delay: var(--delay, 0ms); }
.blog-card img { width: 100%; height: 230px; object-fit: cover; }
.blog-card div { padding: 28px; }
.blog-card span { color: var(--green); font-size: 13px; font-weight: 800; }
.blog-card h3 { margin: 12px 0; font-size: 22px; line-height: 1.25; }
.blog-card p { color: var(--text); line-height: 1.65; }
.read-more { color: var(--green); font-weight: 900; }

.source-home {
  --thm-base: #eddd5e;
  --thm-primary: #5b8c51;
  --thm-black: #404a3d;
  --thm-gray: #eceeef;
  color: #878986;
  font-family: "Roboto Condensed", Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 34px;
  font-weight: 500;
}
.source-home .container,
.source-home .auto-container {
  width: min(1200px, calc(100% - 42px));
  margin: 0 auto;
}
.source-home .auto-container { padding: 0 15px; }
.source-home .row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}
.source-home [class*="col-"] {
  width: 100%;
  min-width: 0;
  padding-right: 15px;
  padding-left: 15px;
}
.source-home .align-items-center { align-items: center; }
.source-home .align-items-start { align-items: flex-start; }
.source-home .text-center { text-align: center; }
.source-home .text-left { text-align: left; }
.source-home h1,
.source-home h2,
.source-home h3,
.source-home h4,
.source-home h5,
.source-home h6 {
  margin-top: 0;
  font-family: "Amatic SC", "Roboto Condensed", Inter, sans-serif;
  letter-spacing: 0;
  text-transform: uppercase;
}
.source-home .block-title {
  margin-top: -6px;
  margin-bottom: 60px;
}
.source-home .block-title p {
  margin: 0;
  color: var(--thm-primary);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 24px;
  text-transform: uppercase;
}
.source-home .block-title h1,
.source-home .block-title h2,
.source-home .block-title h3,
.source-home .block-title h3 a {
  margin: 0;
  color: var(--thm-black);
  font-size: 50px;
  font-weight: 700;
  line-height: 1em;
}
.source-home .leaf {
  width: auto;
  height: auto;
  margin: 12px 0 0;
  background: none;
}
.source-home .text-center .leaf { margin-right: auto; margin-left: auto; }
.source-home .leaf img {
  width: 70px;
  display: inline-block;
}
.source-home .banner-section {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: #111;
}
.source-home .banner-carousel {
  position: relative;
  min-height: 100vh;
  z-index: 1;
}
.source-home .banner-carousel .slide-item {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  background-color: #111;
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 900ms ease;
}
.source-home .banner-carousel .slide-item.active {
  opacity: 1;
  pointer-events: auto;
}
.source-home .banner-carousel .slide-item:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: #232a21;
  opacity: .4;
}
.source-home .banner-carousel .slide-item .image-layer {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transform: scale(1);
}
.source-home .banner-carousel .slide-item.active .image-layer {
  transform: scale(1.15);
  transition: transform 7000ms linear;
}
.source-home .banner-carousel .content-box {
  position: relative;
  z-index: 11;
}
.source-home .banner-carousel .content-box .content {
  position: relative;
  padding: 180px 0 160px;
}
.source-home .banner-carousel .content-box .inner {
  position: relative;
  display: block;
  max-width: 830px;
}
.source-home .banner-carousel .content-box h3 {
  position: relative;
  display: block;
  margin: 0 0 43px;
  color: #fff;
  font-size: clamp(44px, 6vw, 60px);
  line-height: 1;
  font-weight: 700;
  opacity: 0;
  transform: translateY(80px);
}
.source-home .banner-carousel .content-box .sub-title {
  position: relative;
  display: inline-block;
  max-width: 780px;
  margin-bottom: 0;
  color: #fff;
  font-size: 16px;
  line-height: 26px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(80px);
}
.source-home .banner-carousel .content-box .sub-title:before {
  content: "";
  position: absolute;
  left: -5px;
  bottom: -18px;
  width: min(365px, 100%);
  height: 5px;
  background: var(--thm-base);
  border-radius: 8px;
}
.source-home .banner-carousel .slide-item.active .content-box h3 {
  opacity: 1;
  transform: translateY(0);
  transition: all 1000ms ease 900ms;
}
.source-home .banner-carousel .slide-item.active .content-box .sub-title {
  opacity: 1;
  transform: translateY(0);
  transition: all 700ms ease 1400ms;
}
.source-home .hero-dots {
  position: absolute;
  z-index: 12;
  top: 50%;
  left: 50%;
  width: min(1170px, calc(100% - 42px));
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.source-home .hero-dots button {
  width: 16px;
  height: 16px;
  padding: 0;
  border: 2px solid #fff;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
}
.source-home .hero-dots button span { display: none; }
.source-home .hero-dots button.active { background: var(--thm-base); }
.source-home .about_one {
  position: relative;
  display: block;
  padding: 120px 0;
  background: #fff;
}
.source-home .about1_img { position: relative; min-height: 575px; }
.source-home .about1_shape_1 {
  position: absolute;
  left: -215px;
  top: 70px;
  z-index: 0;
  width: 430px;
  height: 430px;
  border-radius: 50%;
  background: #f5f0e9;
}
.source-home .about1_img > img {
  position: relative;
  z-index: 1;
  width: 84%;
  height: 470px;
  object-fit: cover;
  border-radius: 5px;
}
.source-home .about1_icon-box {
  position: absolute;
  top: 50%;
  left: -22px;
  z-index: 3;
  transform: translateY(-58px);
}
.source-home .about1_icon-box .circle {
  position: relative;
  width: 115px;
  height: 115px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--thm-base);
  text-align: center;
}
.source-home .about1_icon-box .circle:before {
  content: "";
  position: absolute;
  inset: -15px;
  border: 1px dashed #fff;
  border-radius: 50%;
}
.source-home .source-focus-icon {
  position: relative;
  width: 50px;
  height: 50px;
  display: block;
  border: 5px solid var(--thm-black);
  border-radius: 50%;
}
.source-home .source-focus-icon:before,
.source-home .source-focus-icon:after {
  content: "";
  position: absolute;
  background: var(--thm-black);
}
.source-home .source-focus-icon:before {
  left: 50%;
  top: -14px;
  width: 5px;
  height: 68px;
  transform: translateX(-50%);
}
.source-home .source-focus-icon:after {
  top: 50%;
  left: -14px;
  width: 68px;
  height: 5px;
  transform: translateY(-50%);
}
.source-home .about_img_2 {
  position: absolute;
  left: 170px;
  bottom: 0;
  z-index: 2;
  width: 52%;
}
.source-home .about_img_2 img {
  width: 100%;
  border-radius: 5px;
}
.source-home .about_one .block-title { margin-bottom: 42px; }
.source-home .about_one .block-title h1 {
  color: #404a3d;
  font-size: 50px;
  font-weight: 700;
}
.source-home .about_content .text p {
  margin: 0 0 12px;
  color: #878986;
  font-size: 16px;
  line-height: 34px;
}
.source-home .service_one {
  position: relative;
  display: block;
  padding: 120px 0;
  background: #f5f0e9;
}
.source-home .service_one .block-title h2 {
  color: #404a3d;
  font-size: 50px;
  font-weight: 700;
}
.source-home .benefits_bottom_part {
  margin-top: 60px;
  margin-bottom: 60px;
}
.source-home .benefits_single {
  position: relative;
  min-height: 156px;
  display: block;
  padding: 35px 28px 34px;
  border: 1px solid #5c655a;
  border-radius: 5px;
  background: var(--thm-black);
  transition: all 500ms ease;
}
.source-home .benefits_single .icon-box span {
  display: block;
  min-height: 52px;
  color: var(--thm-base);
  font-size: 44px;
  line-height: 1;
  font-weight: 900;
  transition: color 500ms ease;
}
.source-home .benefits_single h3 {
  margin: 9px 0 0;
  color: #fff;
  font-size: 26px;
  line-height: 1.1;
  font-weight: 700;
  text-transform: lowercase;
  transition: color 500ms ease;
}
.source-home .benefits_single:hover {
  border-color: var(--thm-base);
  background: var(--thm-base);
  transform: translateY(-4px);
}
.source-home .benefits_single:hover .icon-box span,
.source-home .benefits_single:hover h3 { color: var(--thm-black); }
.source-home .service_1_single {
  position: relative;
  display: block;
  overflow: hidden;
  height: 100%;
}
.source-home .service_1_single .content {
  min-height: 320px;
  padding: 44px 34px 42px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  background: #fff;
}
.source-home .card_style {
  margin: 0 0 28px;
  line-height: 1.05;
}
.source-home .card_style a {
  color: #404a3d;
  font-family: "Amatic SC", "Roboto Condensed", sans-serif;
  font-size: 30px;
  font-weight: 700;
  transition: color 500ms ease;
}
.source-home .card_style a:hover { color: var(--thm-primary); }
.source-home .service_1_single .content p {
  margin: 0;
  color: #878986;
  line-height: 28px;
}
.source-home .service_1_img {
  position: relative;
  display: block;
  overflow: hidden;
}
.source-home .service_1_img img {
  width: 100%;
  height: 255px;
  object-fit: cover;
  opacity: 1;
  transform: scale(1);
  transition: transform 500ms ease, opacity 500ms ease;
}
.source-home .service_1_img .hover_box {
  position: absolute;
  top: -25px;
  left: -50px;
  transition: all 500ms ease;
}
.source-home .service_1_img .hover_box span,
.source-home .recent_project_single .hover_box span {
  width: 50px;
  height: 50px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: var(--thm-base);
  color: var(--thm-black);
  font-size: 28px;
  line-height: 1;
  transform: rotate(180deg);
  transition: all 500ms ease;
}
.source-home .service_1_single:hover .service_1_img img {
  opacity: .7;
  transform: scale(1.05);
}
.source-home .service_1_single:hover .hover_box { left: 50px; }
.source-home .cta-one {
  position: relative;
  display: block;
  padding: 108px 0 120px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 1;
}
.source-home .cta-one:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: rgba(91, 140, 81, .9);
}
.source-home .cta_one_content { text-align: center; }
.source-home .cta_one_content h6 {
  max-width: 1110px;
  margin: 0 auto;
  color: #fff;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 30px;
  line-height: 1.35;
  font-weight: 700;
  text-transform: none;
}
.source-home .cta_one__button-block { margin-top: 55px; }
.source-home .thm-btn {
  min-height: 68px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 18px 50px;
  border: 0;
  border-radius: 5px;
  background: var(--thm-base);
  color: var(--thm-black);
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
  transition: all .4s ease;
}
.source-home .thm-btn:hover {
  background: var(--thm-black);
  color: #fff;
}
.source-home .brand-one {
  position: relative;
  display: block;
  padding: 125px 0;
  border-bottom: 1px solid #f5f0e9;
  background: #fff;
}
.source-home .brand-one .block-title { margin-bottom: 32px; }
.source-home .brand-one-carousel {
  overflow: hidden;
  padding: 8px 0;
}
.source-home .source-brand-track {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 34px;
  animation: marquee 30s linear infinite;
}
.source-home .single_brand_item {
  width: 140px;
  height: 100px;
  display: grid;
  place-items: center;
  flex: 0 0 140px;
}
.source-home .single_brand_item img {
  max-width: 120px;
  max-height: 100px;
  opacity: .3;
  object-fit: contain;
  transition: opacity 500ms ease, transform 500ms ease;
}
.source-home .single_brand_item img:hover {
  opacity: .6;
  transform: translateY(-2px);
}
.source-home .testimonials-one {
  position: relative;
  display: block;
  padding: 120px 0 0;
  background: #f5f0e9;
}
.source-home .testimonials-one:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 210px;
  background: #fff;
}
.source-home .testimonials_one_left {
  position: relative;
  z-index: 1;
  max-width: 500px;
}
.source-home .testimonials-one .block-title { margin-bottom: 42px; }
.source-home .testimonials-one .block-title h3 {
  font-size: 50px;
  line-height: 1em;
}
.source-home .testimonials_one_content {
  position: relative;
  min-height: 520px;
  display: block;
  padding: 67px 80px 74px;
  border-radius: 5px;
  background: var(--thm-primary);
  z-index: 1;
}
.source-home .testimonials_one_content:before,
.source-home .testimonials_one_content:after {
  content: "";
  position: absolute;
  height: 20px;
  border-radius: 3px;
}
.source-home .testimonials_one_content:before {
  right: 20px;
  bottom: -20px;
  left: 20px;
  background: #f8f4ef;
}
.source-home .testimonials_one_content:after {
  right: 40px;
  bottom: -40px;
  left: 40px;
  background: #fbf9f6;
}
.source-home .testimonials_one_carousel {
  position: relative;
  z-index: 2;
}
.source-home .testimonials_one_single_item.testimonial {
  position: relative;
  inset: auto;
  display: none;
  padding: 0;
  background: transparent;
  box-shadow: none;
  opacity: 1;
  transform: none;
}
.source-home .testimonials_one_single_item.testimonial.active { display: block; }
.source-home .testimonials_one_single_item .text {
  position: relative;
  display: block;
  min-height: 235px;
  margin-bottom: 42px;
  padding-bottom: 42px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.source-home .testimonials_one_single_item .text:before {
  content: "“";
  position: absolute;
  top: -42px;
  left: -6px;
  z-index: -1;
  color: rgba(255,255,255,.15);
  font-size: 150px;
  line-height: 1;
}
.source-home .testimonials_one_single_item .text p {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 32px;
  font-weight: 300;
}
.source-home .testimonials_one_single_item .client_thumbnail {
  display: flex;
  align-items: center;
  flex-direction: row;
}
.source-home .testimonials_one_single_item .client_thumbnail .client_img {
  width: 201px;
  height: auto;
  padding-top: 0;
}
.source-home .testimonials_one_single_item .client_thumbnail .client_img img {
  max-width: 150px;
  max-height: 82px;
  object-fit: contain;
}
.source-home .testimonials_one_single_item .client_thumbnail .client_title {
  padding-left: 20px;
}
.source-home .testimonials_one_single_item .client_thumbnail .client_title h4 {
  margin: 0;
  color: #fff;
  font-size: 26px;
  line-height: 1.1;
  font-weight: 700;
}
.source-home .testimonials_one_single_item .client_thumbnail .client_title p {
  margin: 8px 0 0;
  color: #fff;
  font-size: 12px;
  line-height: 20px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.source-home .testimonial-dots {
  position: absolute;
  right: 70px;
  bottom: 30px;
  left: auto;
  z-index: 3;
  display: flex;
  gap: 10px;
}
.source-home .testimonial-dots button {
  width: 15px;
  height: 15px;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background: #7ca374;
  cursor: pointer;
}
.source-home .testimonial-dots button.active {
  border-color: #fff;
  background: #fff;
}
.source-home .recent-project {
  position: relative;
  z-index: 10;
  display: block;
  padding: 120px 0 0;
  background: #fff;
}
.source-home .recent-project .block-title { margin-bottom: 54px; }
.source-home .recent_project_single {
  position: relative;
  display: block;
  overflow: hidden;
}
.source-home .project_img_box {
  position: relative;
  display: block;
  background: #111;
}
.source-home .project_img_box iframe {
  position: relative;
  display: block;
  width: 100%;
  height: 315px;
  border: 0;
}
.source-home .recent_project_single .hover_box {
  position: absolute;
  right: 40px;
  bottom: -50px;
  transition: all 500ms ease;
}
.source-home .recent_project_single:hover .hover_box { bottom: 50px; }
.source-home .source-newsletter {
  position: relative;
  display: block;
  margin-top: -120px;
  padding: 240px 0 120px;
  background: var(--thm-black);
}
.source-home .source-newsletter .benefits_bg {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 441px;
  opacity: .03;
  background: url("https://sourcetrace.com/wp-content/themes/sts-v3/home_assets/images/resources/benifits_bg.png") bottom center / cover no-repeat;
}
.source-home .source-newsletter .block-title { margin-bottom: 0; }
.source-home .source-newsletter .block-title h3 {
  color: #fff;
  font-size: 50px;
  line-height: 1;
}
.source-home .benefits_text {
  position: relative;
  z-index: 1;
  margin-left: 58px;
}
.source-home .benefits_text h3 {
  margin: 0 0 18px;
  color: #fff;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 26px;
  line-height: 1.2;
  text-transform: none;
}
.source-home .source-newsletter .input-group {
  display: flex;
  align-items: stretch;
  gap: 4px;
}
.source-home .txt_fld2 {
  min-height: 50px;
  flex: 1;
  min-width: 0;
  border: 1px solid #ddd;
  border-radius: 25px;
  outline: none;
  padding: 13px 40px;
  background: #fff;
  color: #888;
  font-family: Arial, sans-serif;
  font-size: 14px;
}
.source-home .btn2 {
  min-height: 50px;
  border: 0;
  border-radius: 25px;
  padding: 4px 16px;
  background: #52a7a7;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
}
.source-home .blog-one {
  position: relative;
  display: block;
  padding: 132px 0 120px;
  background: #fff;
}
.source-home .blog_one_single {
  position: relative;
  display: block;
}
.source-home .blog_one_image,
.source-home .blog_one_image .blog_image {
  position: relative;
  display: block;
}
.source-home .blog_one_image .blog_image {
  overflow: hidden;
}
.source-home .blog_one_image .blog_image img {
  width: 100%;
  height: 245px;
  object-fit: cover;
  opacity: 1;
  transform: scale(1);
  transition: transform 500ms ease, opacity 500ms ease;
}
.source-home .blog_one_single:hover .blog_image img {
  opacity: .7;
  transform: scale(1.05);
}
.source-home .blog-one__content {
  position: relative;
  min-height: 360px;
  margin: -10px 10px 0;
  padding: 30px 36px 34px;
  border-radius: 5px;
  background: #fff;
  text-align: center;
  transition: all 500ms ease;
}
.source-home .blog_one_single:hover .blog-one__content {
  box-shadow: 0 4px 12px 2px rgba(0,0,0,.06);
}
.source-home .blog-one__meta {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}
.source-home .blog-one__meta li {
  color: var(--thm-primary);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.source-home .blog-one__content h3 {
  margin: 0;
  color: var(--thm-black);
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 24px;
  line-height: 38px;
  font-weight: 600;
  text-transform: none;
}
.source-home .blog-one__content a {
  color: var(--thm-black);
  transition: color 500ms ease;
}
.source-home .blog-one__content a:hover { color: #66945d; }
.source-home .blog_one_text {
  margin-top: 8px;
  margin-bottom: 29px;
}
.source-home .blog_one_text p {
  margin: 0;
  color: #878986;
  line-height: 30px;
}
.source-home .read_more_btn a {
  color: var(--thm-black);
  font-size: 16px;
  font-weight: 700;
}
.source-home-impact {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 114px 0 98px;
  background: #404a3d;
}
.source-home-impact .farm-strip {
  position: absolute;
  top: auto;
  right: -1%;
  bottom: -22%;
  left: auto;
  width: 100%;
  height: 190px;
  opacity: .07;
  background: url("https://sourcetrace.com/wp-content/themes/sts-v3/home_assets/images/resources/site-footer-farm.png") right bottom / auto 180px repeat-x;
}
.source-home-impact .metric-grid {
  position: relative;
  z-index: 1;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.source-home-impact .metric-box {
  padding: 0 24px;
  border-right: 0;
  text-align: left;
}
.source-home-impact .metric-box h3 {
  position: relative;
  margin: 0 0 36px;
  color: #fff;
  font-family: "Amatic SC", "Roboto Condensed", sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
}
.source-home-impact .metric-box h3:before {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 0;
  width: 20px;
  height: 4px;
  border-radius: 5px;
  background: #eddd5e;
}
.source-home-impact .metric-box p {
  margin: 0;
  color: #c5c9c4;
  font-size: 15px;
  line-height: 18px;
  font-weight: 400;
}

.inner-hero {
  min-height: 460px;
  display: grid;
  align-items: end;
  padding: 150px 0 70px;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(19, 40, 19, .82), rgba(19, 40, 19, .44)),
    var(--inner-bg) center/cover;
}
.inner-hero h1 { color: #fff; font-size: clamp(46px, 7vw, 78px); margin: 0 0 16px; text-transform: uppercase; }
.inner-hero p { max-width: 760px; font-size: 20px; line-height: 1.6; }
.inner-links { display: flex; gap: 12px; margin-top: 28px; flex-wrap: wrap; }
.inner-links a, .btn {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  padding: 0 22px;
  border: 0;
  background: var(--green);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}
.inner-panel {
  padding: 42px;
  background: var(--cream);
  border-left: 8px solid var(--green);
  box-shadow: var(--shadow);
}
.inner-panel h3 { margin-top: 0; font-size: 26px; }
.inner-panel p, .inner-panel li { color: var(--text); line-height: 1.65; }
.wide { max-width: 830px; margin-left: auto; margin-right: auto; }
.solution-directory {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 38px;
  text-align: left;
}
.directory-card {
  min-height: 92px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 12px 35px rgba(60, 70, 50, .08);
  transition: transform .25s ease, box-shadow .25s ease;
}
.directory-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.directory-card span { color: var(--green); font-family: "Roboto Condensed", Inter, sans-serif; font-size: 28px; font-weight: 900; }
.directory-card strong { font-size: 20px; }
.directory-card small { color: var(--green); font-size: 28px; }
.platform.compact { padding-top: 40px; }
.solution-detail, .customers-page, .resource-hub, .about-page, .contact-intro {
  padding: 96px 0;
}
.capability-stack {
  display: grid;
  gap: 18px;
}
.capability-stack div {
  padding: 26px;
  background: var(--cream);
  border-left: 6px solid var(--green);
  box-shadow: 0 12px 35px rgba(60, 70, 50, .08);
}
.capability-stack span {
  display: block;
  color: var(--green);
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 30px;
  font-weight: 900;
  margin-bottom: 8px;
}
.capability-stack strong { display: block; font-size: 22px; margin-bottom: 8px; }
.capability-stack p { margin: 0; color: var(--text); line-height: 1.6; }
.process-strip {
  padding: 58px 0;
  background: linear-gradient(135deg, #6ab238, #2f7d2b);
  color: #fff;
}
.process-strip .container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.process-step {
  min-height: 130px;
  display: grid;
  place-items: center;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.08);
  text-align: center;
}
.process-step span { font-family: "Roboto Condensed", Inter, sans-serif; font-size: 38px; font-weight: 900; color: #f1dc4d; }
.process-step strong { font-size: 22px; }
.related-solutions {
  padding: 86px 0;
  background: var(--cream);
}
.mini-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 30px;
  text-align: left;
}
.mini-card-grid a {
  display: flex;
  align-items: center;
  min-height: 68px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--ink);
  font-weight: 800;
}
.mini-card-grid a:hover { color: var(--green); border-color: var(--green); }
.logo-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  margin-top: 36px;
}
.logo-grid .logo-tile {
  width: auto;
  height: 120px;
}
.testimonial-list {
  display: grid;
  gap: 18px;
}
.testimonial-list article {
  padding: 26px;
  background: #fff;
  box-shadow: var(--shadow);
}
.testimonial-list p { color: var(--text); line-height: 1.65; margin-top: 0; }
.testimonial-list strong { display: block; color: var(--ink); margin-bottom: 4px; }
.testimonial-list span { color: var(--green); font-size: 13px; font-weight: 900; text-transform: uppercase; }
.resource-hub { background: var(--cream); }
.resource-tabs {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 28px 0 34px;
}
.resource-tabs a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 0 16px;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--ink);
  font-weight: 800;
}
.resource-tabs a:hover { border-color: var(--green); color: var(--green); }
.values-band {
  padding: 64px 0;
  background: var(--cream);
}
.values-band .container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.values-band div {
  padding: 28px;
  background: #fff;
  border-top: 5px solid var(--green);
  box-shadow: 0 12px 35px rgba(60, 70, 50, .08);
}
.values-band strong { display: block; font-size: 22px; margin-bottom: 10px; }
.values-band p { color: var(--text); line-height: 1.65; margin: 0; }
.contact-cards {
  display: grid;
  gap: 16px;
}
.contact-cards div {
  padding: 24px;
  background: var(--cream);
  border-left: 6px solid var(--green);
  box-shadow: 0 12px 35px rgba(60, 70, 50, .08);
}
.contact-cards strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 20px;
}
.contact-cards span {
  color: var(--text);
  overflow-wrap: anywhere;
}
.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 44px; }
.form {
  border: 1px solid var(--line);
  padding: 32px;
  background: #fff;
  box-shadow: var(--shadow);
}
.field { display: grid; gap: 8px; margin-bottom: 16px; }
.field label { font-weight: 800; font-size: 14px; }
.field input, .field textarea {
  width: 100%;
  border: 1px solid #cfd8cc;
  padding: 13px 14px;
  min-width: 0;
}
.field textarea { min-height: 140px; resize: vertical; }
.notice { padding: 12px 14px; background: #e8f6ec; border: 1px solid #bfe4c9; color: #14592d; margin-bottom: 18px; }
.resource-band { background: var(--cream); }
.resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.resource-card { background: #fff; padding: 24px; box-shadow: var(--shadow); }
.resource-card img { width: 100%; height: 155px; object-fit: cover; margin-bottom: 18px; }
.resource-card h3 { margin: 0 0 10px; }
.resource-card p { color: var(--text); line-height: 1.6; }
.resource-card a { color: var(--green); font-weight: 900; }

.value-page-title {
  min-height: 250px;
  margin-top: 86px;
  display: grid;
  align-items: center;
  background:
    linear-gradient(90deg, rgba(29, 61, 39, .94), rgba(29, 61, 39, .58)),
    url("https://sourcetrace.com/wp-content/themes/sts-v3/img/new-banner.jpg") center / cover;
}
.value-page-title h1 {
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 4.3vw, 46px);
  font-weight: 700;
  text-transform: uppercase;
  text-shadow: 2px 2px 0 rgba(0,0,0,.45);
}
.value-landing {
  min-height: 560px;
  padding: 0;
  background:
    url("https://sourcetrace.com/wp-content/themes/sts-v3/img/agri-value-chain-background.jpg") bottom center / cover no-repeat,
    #1d3d27;
}
.value-landing-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(360px, 1fr);
  gap: 30px;
  align-items: start;
}
.value-copy {
  padding: 92px 0 90px;
  color: #fff;
}
.value-logo {
  width: 170px;
  padding: 10px;
  margin-bottom: 16px;
  background: #fff;
}
.value-copy h2 {
  max-width: 820px;
  margin: 0 0 18px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(31px, 4.5vw, 45px);
  line-height: 1.05;
  font-weight: 400;
}
.value-copy p {
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(19px, 2.3vw, 26px);
  line-height: 1.35;
}
.value-demo {
  background: #fff;
  padding: 0 30px 20px;
  color: #333;
}
.value-demo h2 {
  margin: 0;
  padding: 17px 0 14px;
  color: #222;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
  line-height: 1.25;
  font-weight: 400;
  text-align: center;
}
.value-demo-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: 9px;
}
.value-demo-form input,
.value-demo-form select,
.value-demo-form textarea {
  width: 100%;
  min-width: 0;
  border: 0;
  border-bottom: 1px solid #111;
  border-radius: 0;
  padding: 13px 0 10px;
  background: transparent;
  color: #222;
  font-family: Arial, sans-serif;
  font-size: 15px;
  outline: none;
}
.value-demo-form textarea {
  min-height: 96px;
  resize: vertical;
}
.field-full { grid-column: 1 / -1; }
.value-terms {
  color: #111;
  font-size: 12px;
  line-height: 1.45;
}
.value-terms p { margin: 4px 0 10px; }
.value-submit {
  width: 100px;
  min-height: 42px;
  border: 0;
  border-radius: 5px;
  background: #1d3d27;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.value-benefits {
  padding: 30px 0 24px;
  background: #fff;
}
.value-benefits-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 1fr);
  gap: 42px;
  align-items: start;
}
.value-benefits h2 {
  margin: 0 0 16px;
  color: #111;
  font-size: 36px;
  font-weight: 800;
}
.value-company {
  margin: 0 0 14px;
  color: #333;
  font-size: 17px;
}
.value-description {
  margin: 0 0 16px;
  color: #535353;
  font-size: 16px;
  line-height: 1.65;
}
.value-description a { color: #1a8d36; font-weight: 700; }
.value-list {
  margin: 0;
  padding-left: 21px;
  color: #444;
  line-height: 1.75;
  font-size: 15px;
}
.value-chain-visual img {
  width: 100%;
  margin: 50px auto 10px;
}
.value-video-section {
  padding: 12px 0 28px;
  background: #fff;
  text-align: center;
}
.value-video-section h2,
.value-presence h2,
.value-testimonials h2,
.value-customers h2 {
  margin: 0;
  color: #222;
  font-size: 32px;
  line-height: 1.25;
  font-weight: 800;
  text-align: center;
}
.value-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 26px;
}
.value-video-grid iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
}
.value-presence {
  padding: 28px 0 40px;
  background: #fff;
}
.value-counter-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 1050px;
  margin: 28px auto 0;
}
.value-counter-box {
  min-height: 190px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 15px;
  padding: 28px 22px;
  text-align: center;
  background: #fff;
}
.value-counter-box:nth-child(even) { background: #f2f2f2; }
.value-counter-box img {
  max-width: 78px;
  max-height: 78px;
  object-fit: contain;
}
.value-counter-box h4 {
  margin: 0;
  color: #333;
  font-size: 20px;
  line-height: 1.32;
  font-weight: 700;
}
.value-testimonials {
  padding: 54px 0;
  background: #f7f7f7;
}
.value-testimonial-stage {
  max-width: 980px;
  margin: 28px auto 0;
  overflow: hidden;
}
.value-testimonial-track {
  display: flex;
  width: 400%;
  animation: valueTestimonials 36s linear infinite;
}
.value-testimonial-item {
  flex: 0 0 25%;
  padding: 0 36px;
  text-align: center;
}
.value-testimonial-item p {
  margin: 0 0 18px;
  color: #555;
  font-size: 17px;
  line-height: 1.75;
}
.value-testimonial-item strong {
  display: block;
  color: #d36a23;
  font-size: 18px;
  margin-bottom: 5px;
}
.value-testimonial-item span {
  color: #555;
  font-size: 14px;
}
.value-customers {
  padding: 52px 0 70px;
  background: #fff;
}
.value-client-marquee {
  margin-top: 28px;
  overflow: hidden;
}
.value-client-track {
  display: flex;
  align-items: center;
  width: max-content;
  gap: 36px;
  animation: marquee 30s linear infinite;
}
.value-client-track img {
  width: 128px;
  max-height: 74px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .85;
}

.agri-page-title h1 { max-width: 720px; }
.agri-intro {
  padding: 24px 0 14px;
  background: #fff;
}
.agri-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: 36px;
  align-items: center;
}
.agri-intro-copy p {
  margin: 0 0 18px;
  color: #333;
  font-size: 16px;
  line-height: 1.72;
}
.agri-intro-copy a {
  color: #1b8d52;
  font-weight: 700;
}
.agri-demo-row {
  display: flex;
  align-items: center;
  gap: 0;
  padding-top: 8px;
}
.agri-demo-btn {
  min-width: 190px;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #c6e84d;
  color: #111;
  font-weight: 900;
  text-transform: uppercase;
}
.agri-demo-row img {
  width: 160px;
  height: 54px;
  object-fit: cover;
}
.agri-hero-visual img {
  width: 100%;
  max-height: 620px;
  object-fit: contain;
}
.agri-benefits {
  padding: 12px 0 34px;
  background: #fff;
}
.agri-benefits-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  gap: 40px;
  align-items: center;
}
.agri-benefits-art {
  min-height: 420px;
  display: grid;
  place-items: center;
  background: url("https://sourcetrace.com/wp-content/themes/sts-v3/img/sol-benefits.svg") center / contain no-repeat;
}
.agri-benefits-art img {
  width: min(78%, 520px);
}
.agri-benefits-copy h2 {
  margin: 0 0 20px;
  color: #111;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 5vw, 52px);
  font-weight: 400;
}
.agri-benefits-copy ul {
  margin: 0;
  padding-left: 22px;
  color: #333;
  line-height: 2.08;
  font-size: 16px;
}
.agri-modules {
  padding: 26px 0 74px;
  background: #fff;
}
.agri-modules h2 {
  margin: 0 0 20px;
  max-width: 960px;
  color: #111;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 6vw, 62px);
  line-height: 1.07;
  font-weight: 400;
}
.agri-modules > .container > p {
  max-width: 980px;
  margin: 0 0 28px;
  color: #444;
  font-size: 16px;
  line-height: 1.7;
}
.agri-module-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  align-items: start;
  border: 1px solid #e1e5df;
}
.agri-module-tabs {
  display: grid;
  background: #f4f8ef;
}
.agri-module-tabs button {
  min-height: 48px;
  border: 0;
  border-bottom: 1px solid #dce4d7;
  padding: 12px 16px;
  background: transparent;
  color: #333;
  text-align: left;
  font-weight: 800;
  cursor: pointer;
}
.agri-module-tabs button.active,
.agri-module-tabs button:hover {
  background: #86bd3d;
  color: #fff;
}
.agri-module-panels {
  min-height: 420px;
  background: #fff;
}
.agri-module-panel {
  display: none;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 26px;
  align-items: center;
  padding: 28px;
}
.agri-module-panel.active { display: grid; }
.agri-module-image img {
  width: 100%;
  max-height: 360px;
  object-fit: contain;
}
.agri-module-points h3 {
  margin: 0 0 12px;
  color: #1a74a3;
  font-size: 22px;
}
.agri-module-points p,
.agri-module-points li {
  color: #444;
  line-height: 1.65;
}
.agri-module-points ul {
  margin: 12px 0 0;
  padding-left: 20px;
}

.source-leaf-img { width: 70px; margin: 8px 0 24px; }
.source-leaf-center { width: 80px; margin: 26px auto 36px; display: block; }
.carbon-intro {
  margin-top: 121px;
  padding: 43px 0 92px;
  background: #fff;
}
.carbon-intro-grid {
  display: grid;
  grid-template-columns: .34fr .66fr;
  gap: 34px;
  align-items: start;
}
.carbon-intro h1,
.carbon-feature-section h2,
.carbon-gap h2,
.carbon-map h2,
.carbon-why h2,
.carbon-satellite h2 {
  margin: 0;
  font-family: "Roboto Condensed", Inter, sans-serif;
  text-transform: uppercase;
  font-weight: 700;
}
.carbon-intro h1 { color: #777; font-size: 30px; }
.carbon-intro p,
.carbon-gap p,
.carbon-satellite p {
  margin: 0 0 16px;
  color: #777;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 17px;
  line-height: 1.68;
  text-align: justify;
}
.carbon-feature-section {
  padding: 30px 0 96px;
  background: #f5f0e9;
}
.carbon-feature-section h2,
.carbon-map h2,
.carbon-why h2 {
  color: #404a3d;
  font-size: 32px;
  line-height: 1.3;
  text-align: center;
}
.carbon-card-grid {
  display: grid;
  gap: 28px;
}
.carbon-card-grid-4 { grid-template-columns: repeat(4, 1fr); }
.carbon-card-grid-3 { grid-template-columns: repeat(3, 1fr); }
.carbon-card-grid article {
  min-height: 480px;
  padding: 15px 17px;
  background: #fff;
}
.carbon-card-grid-3 article { min-height: auto; padding: 9px; }
.carbon-card-grid h3 {
  margin: 0 0 18px;
  color: #333;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 20px;
  line-height: 1.45;
  font-weight: 700;
  text-transform: uppercase;
}
.carbon-card-grid h4 {
  margin: 0 0 20px;
  color: #333;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 300;
}
.carbon-card-grid img,
.carbon-gap img,
.carbon-map img:last-child,
.carbon-satellite img {
  width: 100%;
}
.carbon-gap,
.carbon-satellite {
  padding: 70px 0 80px;
  background: #fff;
}
.carbon-gap-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 42px;
  align-items: center;
}
.carbon-gap h2,
.carbon-satellite h2 {
  color: #404a3d;
  font-size: 35px;
  line-height: 1.22;
}
.carbon-gap h3 {
  margin: 0 0 34px;
  color: #404a3d;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 26px;
  line-height: 1.35;
  text-transform: uppercase;
}
.carbon-needs { margin-top: 0; }
.carbon-map {
  padding: 32px 0 72px;
  background: #fff;
}
.carbon-why {
  padding: 50px 0 92px;
  background: #404a3d;
}
.carbon-why h2 { color: #fff; }
.carbon-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.carbon-why-grid div {
  min-height: 194px;
  padding: 22px 18px;
  border: 1px solid #5c655a;
  border-radius: 4px;
}
.carbon-why-grid span {
  display: block;
  color: #fff;
  font-size: 52px;
  margin-bottom: 18px;
}
.carbon-why-grid img {
  width: 66px;
  margin-bottom: 14px;
}
.carbon-why-grid h3 {
  margin: 0;
  color: #fff;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 600;
}
.source-cta {
  padding: 82px 0;
  background-image: linear-gradient(rgba(59, 142, 55, .86), rgba(59, 142, 55, .86)), var(--source-cta-bg);
  background-size: cover;
  background-position: center;
  text-align: center;
}
.source-cta h2 {
  max-width: 1110px;
  margin: 0 auto 28px;
  color: #fff;
  font-size: 30px;
  line-height: 1.38;
}
.source-cta a {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  padding: 0 28px;
  background: #fff;
  color: var(--green-dark);
  font-weight: 900;
}

.classic-solution-hero {
  margin-top: 110px;
  padding: 28px 0 38px;
  background: #fff;
}
.classic-hero-grid,
.classic-hero-row {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 34px;
  align-items: center;
}
.classic-hero-row {
  grid-template-columns: .48fr .52fr;
  padding-top: 6px;
}
.classic-hero-art img {
  width: 100%;
  display: block;
}
.classic-datagreen {
  width: 152px;
  margin: 0 0 18px;
}
.classic-solution-hero h1,
.classic-platform h2,
.classic-tech h2,
.classic-sector h2,
.classic-info-card h2,
.classic-testimonials h2,
.source-title-banner h1,
.supply-intro h2,
.supply-benefit h2,
.supply-why h2,
.supply-try h2,
.source-article h2,
.source-side-demo h2,
.source-customers h2 {
  margin: 0;
  color: #404a3d;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}
.classic-solution-hero h1 {
  font-size: 40px;
}
.classic-solution-hero p,
.classic-platform li,
.classic-tech p,
.classic-sector-text,
.classic-info-card p,
.classic-info-card li,
.classic-features p,
.supply-intro p,
.supply-benefit p,
.supply-why p,
.supply-try p,
.source-article p {
  color: #333;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 17px;
  line-height: 1.72;
  text-align: justify;
}
.classic-platform {
  background: #fff;
}
.classic-platform-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  overflow: hidden;
}
.classic-platform-copy {
  padding: 42px 40px 46px max(28px, calc((100vw - 1180px) / 2));
  background: #f5f0ea;
}
.classic-platform h2 {
  max-width: 590px;
  margin-left: 25px;
  font-size: 36px;
}
.classic-leaf {
  width: 72px;
  display: block;
  margin: 18px 0 20px 30px;
}
.classic-platform ul,
.classic-info-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.classic-platform li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 8px;
  margin: 0 0 13px;
}
.classic-platform li img,
.classic-info-card li img,
.classic-features p img {
  width: 20px;
  margin-top: 5px;
}
.classic-platform li strong {
  display: block;
  font-weight: 700;
}
.classic-platform li span {
  grid-column: 2;
  display: block;
}
.classic-platform-image img {
  width: 100%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
}
.classic-tech {
  padding: 42px 0 60px;
  background: #fff;
}
.classic-tech-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  align-items: center;
}
.classic-tech-grid > h2 {
  grid-column: 1 / -1;
  text-align: center;
  font-size: 32px;
}
.classic-tech-image img {
  width: 85%;
  display: block;
  margin: 0 auto;
}
.classic-video iframe {
  width: 100%;
  height: 350px;
  border: 0;
}
.classic-tech-copy h2 {
  font-size: 38px;
}
.classic-tech-copy .classic-leaf {
  margin-left: 0;
}
.classic-sector {
  padding: 30px 0 50px;
  background: #5b8d52;
  background-image: linear-gradient(rgba(91,141,82,.95), rgba(91,141,82,.95)), var(--sector-bg, none);
  background-size: cover;
}
.classic-sector h2 {
  color: #fff;
  font-size: 28px;
}
.classic-sector .classic-leaf {
  width: 74px;
  margin-left: 0;
}
.classic-sector-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
}
.classic-sector-item {
  min-height: 142px;
  padding: 13px 9px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  color: #fff;
  background: #263d07;
  border: 1px solid #347f0c;
  text-align: center;
}
.classic-sector-item img {
  width: 72px;
  height: 72px;
  object-fit: contain;
}
.classic-sector-item p {
  margin: 0;
  color: #fff;
  font-size: 16px;
  line-height: 1.25;
}
.classic-sector-text {
  margin: 24px 0 0;
  color: #fff;
  text-align: left;
}
.classic-card-band {
  background: #fff;
}
.classic-card-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.classic-info-card {
  min-height: 520px;
  display: flex;
  align-items: center;
  padding: 58px 44px;
  background-size: cover;
  background-position: center;
}
.classic-info-card > div {
  width: min(500px, 100%);
  padding: 44px 38px;
  background: rgba(255,255,255,.9);
  border: 1px solid #d8d1d1;
}
.classic-info-card h2 {
  margin-bottom: 14px;
  font-size: 30px;
  text-align: center;
}
.classic-info-card p {
  margin: 0 0 14px;
  text-align: center;
}
.classic-info-card li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin-bottom: 8px;
  text-align: left;
}
.trace-benefits {
  background-image: url("https://sourcetrace.com/wp-content/themes/sts-v3/img/ft-benefits-full.jpg");
}
.trace-blockchain {
  background-image: url("https://www.sourcetrace.com/wp-content/uploads/2022/08/ft-blockchain-power.jpg");
}
.farm-benefits {
  background-image: url("https://sourcetrace.com/wp-content/themes/sts-v3/img/fm-benefits-full.jpg");
}
.farm-smart {
  background-image: url("https://sourcetrace.com/wp-content/themes/sts-v3/img/fm-smartfarm.jpg");
}
.classic-features {
  padding: 54px 0 74px;
  background: #fff;
}
.classic-features-grid {
  display: grid;
  grid-template-columns: .72fr 1fr;
  gap: 40px;
  align-items: center;
}
.classic-features img {
  width: 100%;
}
.classic-features p {
  margin: 0 0 15px;
}
.classic-features p img {
  width: 24px;
  margin: 0 8px -4px 0;
}
.classic-testimonials {
  background: #f5f0e9;
}
.classic-testimonials .value-testimonial-item img {
  width: 96px;
  height: 72px;
  object-fit: contain;
  margin: 0 auto 14px;
}
.classic-demo-case {
  margin-top: 0;
}

.source-title-banner {
  margin-top: 110px;
  padding: 30px 0 28px;
  background: #fff;
  text-align: center;
}
.source-title-banner h1 {
  font-size: 37px;
}
.source-parallax {
  min-height: 230px;
  background-image: var(--source-banner);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
.source-parallax-dark {
  position: relative;
}
.source-parallax-dark::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.6);
}
.supply-intro,
.source-article {
  padding: 50px 0;
  background: #fff;
}
.supply-grid,
.supply-why-grid,
.source-article-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  align-items: start;
}
.supply-grid img {
  width: 76%;
  display: block;
  margin: 0 auto;
}
.source-article-food {
  padding-top: 30px;
}
.source-article-food .source-article-grid {
  grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
}
.supply-intro h2,
.supply-benefit h2,
.supply-try h2 {
  font-size: 35px;
}
.supply-benefit {
  padding: 60px 0;
  background: #f5f0ea;
  text-align: center;
}
.supply-benefit p {
  text-align: left;
}
.supply-why {
  padding: 48px 0 20px;
  background: #fff;
}
.supply-why-grid {
  grid-template-columns: .42fr .58fr;
  gap: 0;
  align-items: stretch;
}
.supply-why-grid > div {
  padding: 7px 18px 18px;
  background: #f5f0ea;
}
.supply-why h3 {
  margin: 0 0 4px;
  color: #1c8c0e;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 22px;
  font-weight: 700;
}
.supply-why h2 {
  font-size: 31px;
}
.supply-why img {
  width: 100%;
  height: 371px;
  object-fit: cover;
}
.supply-try {
  padding: 120px 0;
  background: #fff;
  text-align: center;
}
.supply-try h2 {
  color: #1e4803;
  font-size: 37px;
}
.supply-try p {
  color: #516404;
  font-size: 18px;
  text-align: center;
  text-transform: uppercase;
}
.supply-cta {
  padding: 110px 0;
}
.supply-cta h2 {
  font-size: 30px;
  text-transform: uppercase;
}
.supply-cta a {
  background: #eddd5e;
  color: #404a3d;
}
.supply-source-page {
  background: #fff;
}
.supply-source-page .container {
  width: min(1170px, calc(100% - 30px));
}
.supply-source-hero {
  position: relative;
  margin-top: 86px;
  overflow: hidden;
}
.supply-template-caption {
  position: absolute;
  z-index: 5;
  inset: 0 auto 0 max(15px, calc((100vw - 1170px) / 2));
  width: min(70%, 820px);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  pointer-events: none;
}
.supply-template-caption h1 {
  margin: 0;
  padding: 15px;
  color: #fff;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 36px;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
  text-shadow: 1px 3px 5px #000;
}
.supply-parallax-window-small {
  min-height: 35vh;
  height: 35vh;
  background-image: linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.7)), var(--source-banner);
  background-size: cover;
  background-position: center;
}
.media-source-hero {
  position: relative;
  margin-top: 0;
  overflow: hidden;
}
.media-template-caption {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 15px;
  width: 70%;
  height: 25%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  pointer-events: none;
}
.media-template-caption h1 {
  margin: 150px 0 0;
  padding: 15px;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 36px;
  line-height: 1.2;
  font-weight: 400;
  text-transform: uppercase;
  text-shadow: 1px 3px 5px #000;
  transform: translateY(50px);
}
.media-parallax-window-small {
  min-height: 35vh;
  height: 35vh;
  background-image: linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.7)), var(--source-banner);
  background-size: cover;
  background-position: center;
}
.media-publications-source {
  background: #fff;
  padding: 0 0 40px;
}
.media-publications-source .container {
  width: min(1170px, 100%);
  padding-right: 15px;
  padding-left: 15px;
}
.media-list-source {
  width: calc(100% + 30px);
  padding: 10px 0;
  margin-right: -15px;
  margin-left: -15px;
  display: flex;
  flex-wrap: wrap;
}
.media-project-column {
  width: 25%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
  transition: all .1s ease-in-out;
}
.media-project-column:hover {
  box-shadow: 0 15px 35px rgba(0, 0, 0, .52);
  transform: scale(1.01);
}
.media-project-column a {
  display: block;
}
.media-item-source {
  padding-top: 15px;
  padding-bottom: 15px;
}
.media-image-col,
.media-title-col {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}
.media-image-col img {
  width: 100%;
  height: auto;
}
.media-title-col h4 {
  margin: 0 0 20px;
  padding: 0;
  color: #333;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 400;
}
.media-title-col h4 span {
  display: block;
  color: #1e6d2d;
}
.case-source-hero {
  position: relative;
  margin-top: 0;
  overflow: hidden;
}
.case-template-caption {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 15px;
  width: 70%;
  height: 25%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  pointer-events: none;
}
.case-template-caption h1 {
  margin: 150px 0 0;
  padding: 15px;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 36px;
  line-height: 1.2;
  font-weight: 400;
  text-transform: uppercase;
  text-shadow: 1px 3px 5px #000;
  transform: translateY(50px);
}
.case-parallax-window-small {
  min-height: 35vh;
  height: 35vh;
  background-image: linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.7)), var(--source-banner);
  background-size: cover;
  background-position: center;
}
.case-studies-source {
  background: #fff;
  padding: 0 0 20px;
}
.case-studies-source .container {
  width: min(1170px, 100%);
  padding-right: 15px;
  padding-left: 15px;
}
.case-row-source {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 30px);
  margin: 20px -15px 0;
  padding: 15px 0 10px;
  border-bottom: 1px solid #ccc;
}
.case-row-source:last-child {
  border-bottom: none;
  margin-bottom: 20px;
}
.case-project-column {
  width: 33.333333%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
  transition: all .1s ease-in-out;
}
.case-project-column:hover {
  box-shadow: 0 15px 35px rgba(0, 0, 0, .52);
  transform: scale(1.01);
}
.case-project-column a {
  display: block;
  color: inherit;
}
.case-item-source {
  padding-top: 15px;
  padding-bottom: 15px;
}
.case-logo-col,
.case-copy-col {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}
.case-logo-col {
  width: 50%;
  margin-left: 25%;
}
.case-copy-col {
  padding-top: 10px;
}
.case-logo-col img {
  width: auto;
  max-width: 100%;
  height: auto;
}
.case-copy-col h4 {
  margin: 5px 0 10px;
  padding: 0;
  color: #6f9703;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 700;
}
.case-copy-col p {
  margin: 0 0 10px;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 24px;
}
.white-source-hero {
  position: relative;
  margin-top: 0;
  overflow: hidden;
}
.white-template-caption {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 15px;
  width: 70%;
  height: 25%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  pointer-events: none;
}
.white-template-caption h1 {
  margin: 150px 0 0;
  padding: 15px;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 36px;
  line-height: 1.2;
  font-weight: 400;
  text-transform: uppercase;
  text-shadow: 1px 3px 5px #000;
  transform: translateY(50px);
}
.white-parallax-window-small {
  min-height: 35vh;
  height: 35vh;
  background-image: linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.7)), var(--source-banner);
  background-size: cover;
  background-position: center;
}
.whitepapers-source {
  background: #fff;
}
.whitepapers-source .container {
  width: min(1170px, 100%);
  padding-right: 15px;
  padding-left: 15px;
}
.whitePaperListWrapper {
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.wprListItem {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
}
.wPrListItemColTxt {
  width: 70%;
}
.wPrListItemColImg {
  width: 30%;
  text-align: center;
}
.wPrListItemColImg img {
  max-width: 100%;
  height: auto;
}
.wPrListItemColTxt h3 {
  margin: 20px 0 10px;
  padding: 0;
  color: #027f01;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 24px;
  line-height: 1.1;
  font-weight: 700;
}
.wPrListItemColTxt h4 {
  margin: 0 0 10px;
  padding: 0;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 400;
}
.wPrListItemColTxt p,
.wPrListItemColTxt li {
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
}
.wPrListItemColTxt p {
  margin: 0 0 10px;
}
.whatsInside {
  padding: 0 0 0 15px;
  margin: 0;
}
.dwnldBtn {
  display: inline-block;
  background: #ff7800;
  padding: 10px;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 17px;
  text-transform: uppercase;
  font-weight: 700;
}
.dwnldBtn:hover {
  color: #fff;
}
.webinars-source-hero {
  position: relative;
  margin-top: 0;
  overflow: hidden;
}
.webinar-template-caption {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 15px;
  width: 70%;
  height: 25%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  pointer-events: none;
}
.webinar-template-caption h1 {
  margin: 150px 0 0;
  padding: 15px;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 36px;
  line-height: 1.2;
  font-weight: 400;
  text-transform: uppercase;
  text-shadow: 1px 3px 5px #000;
  transform: translateY(50px);
}
.webinar-parallax-window-small {
  min-height: 35vh;
  height: 35vh;
  background-image: linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.7)), var(--source-banner);
  background-size: cover;
  background-position: center;
}
.webinars-source {
  background: #fff;
  padding-bottom: 25px;
}
.webinars-source .container {
  width: min(1170px, 100%);
  padding-right: 15px;
  padding-left: 15px;
}
.webinars-row {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 30px);
  margin-right: -15px;
  margin-left: -15px;
}
.webinarsLogo {
  width: 100%;
  max-width: 450px;
  height: auto;
  margin: 20px auto;
  padding-right: 15px;
  padding-left: 15px;
}
.webinarsLogo img {
  display: block;
  width: 100%;
  height: auto;
}
.webinars-content-row {
  align-items: flex-start;
}
.webinars-main-col {
  width: 66.66666667%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
.webinars-side-col {
  width: 33.33333333%;
  min-height: 1px;
  padding: 0 0 0 15px;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 400;
}
.upcomeWebinar {
  margin-bottom: 15px;
}
.upcomeWebinar + .upcomeWebinar {
  margin-top: 15px;
}
.w-section h1,
.w-section h2,
.w-section h3,
.w-section h4,
.w-section h5,
.w-section h6 {
  margin: 0;
  padding: 0 0 10px;
}
.w-section h2,
.headerClassFormTitle {
  color: #333;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 30px;
  line-height: 1.1;
  font-weight: 400;
}
.w-listItem {
  display: flex;
  flex-direction: column;
  padding-bottom: 15px;
  border-bottom: 1px solid #008001;
}
.w-listItem-last {
  margin-bottom: 20px;
}
.w-img {
  width: 100%;
  margin-right: 15px;
}
.w-img img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #008001;
}
.w-list h3 {
  margin: 0;
  padding: 10px 0;
  color: #333;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 24px;
  line-height: 1.1;
  font-weight: 400;
}
.wdateTime {
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
}
.wdateTime span {
  color: #056c0b;
}
.webinarBtn {
  display: block;
  max-width: 100px;
  margin-top: 10px;
  padding: 3px;
  background: #484848;
  color: #fff;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  text-decoration: none;
}
.webinarBtn:hover {
  color: #fff;
}
.formContainerWrapper {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}
.formContainer {
  width: 100%;
  padding: 18px 18px 20px;
  background: #84c7ac;
}
.formContainer p {
  margin: 0 0 10px;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.42857143;
}
.webinar-register-form {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 30px);
  margin-right: -15px;
  margin-left: -15px;
  padding-bottom: 20px;
}
.webinar-register-form .col-md-6,
.webinar-register-form .col-md-12 {
  width: 100%;
  padding-right: 15px;
  padding-bottom: 10px;
  padding-left: 15px;
}
.webinar-register-form input,
.webinar-register-form select,
.webinar-register-form textarea {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 0;
  border-bottom: 1px solid #000;
  border-radius: 0;
  background: #fff;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
}
.webinar-register-form textarea {
  height: 90px;
  resize: vertical;
}
.webinar-register-form .termncon {
  color: #fff;
}
.webinar-submit {
  max-width: 100px;
  margin-top: 10px;
  background: #84c7ac !important;
  border: 1px solid #fff !important;
  color: #fff !important;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
}
.webinar-notice {
  margin: 0 0 12px;
  background: #f2fff6;
  color: #056c0b;
}
.wVideoPanel {
  margin-top: 20px;
  padding-right: 15px;
  padding-left: 15px;
}
.webinar-embed {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.webinar-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.wVideoPanel p {
  margin: 0;
  padding: 10px 10px 10px 0;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  text-align: center;
}
.source-template-hero {
  position: relative;
  margin-top: 0;
  overflow: hidden;
}
.source-template-caption {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 15px;
  width: 70%;
  height: 25%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  pointer-events: none;
}
.source-template-caption h1 {
  margin: 150px 0 0;
  padding: 15px;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 36px;
  line-height: 1.2;
  font-weight: 400;
  text-transform: uppercase;
  text-shadow: 1px 3px 5px #000;
  transform: translateY(50px);
}
.source-template-parallax-small {
  min-height: 35vh;
  height: 35vh;
  background-image: linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.7)), var(--source-banner);
  background-size: cover;
  background-position: center;
}
.blog-source-page {
  background: #fff;
  padding: 0 0 30px;
}
.blog-source-page .container {
  width: min(1170px, 100%);
  padding-right: 15px;
  padding-left: 15px;
}
.source-blog-list {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 30px);
  margin-right: -15px;
  margin-left: -15px;
  padding: 10px 0;
}
.source-blog-column {
  width: 33.333333%;
  min-height: 1px;
  padding: 15px;
  transition: all .1s ease-in-out;
}
.source-blog-column:hover {
  box-shadow: 0 15px 35px rgba(0, 0, 0, .52);
  transform: scale(1.01);
}
.source-blog-column h3 {
  margin: 0;
  padding: 0;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 700;
}
.source-blog-column h3 a {
  color: #8abc04;
}
.source-blog-column h3 a:hover {
  color: #6f9703;
}
.source-blog-column .proj-title p {
  margin: 10px 0;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
}
.source-blog-column .excerptContent p {
  margin: 0 0 10px;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 24px;
}
.thumbnailImage {
  float: left;
  margin-right: 10px;
  background: #000;
}
.thumbnailImage img {
  width: 160px;
  height: 100px;
  border: 1px solid #000;
  object-fit: cover;
}
.moreLink {
  clear: both;
}
.moreLink a {
  color: #6f9703;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
}
.socialBtnWrapper {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 10px 0;
}
.twitter-share-button,
.fb-share-button,
.linkedin-share-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  height: 22px;
  padding: 2px 7px;
  background: #4267b2;
  color: #fff;
  font-size: 12px;
  line-height: 18px;
}
.twitter-share-button {
  min-width: 84px;
  height: 32px;
  background: #1d9bf0;
}
.linkedin-share-button {
  background: #0a66c2;
}
.pagination {
  clear: both;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 20px 0;
  padding: 0 15px;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
}
.pagination a,
.pagination span {
  padding: 5px 8px;
  border: 1px solid #ddd;
  color: #333;
}
.pagination .current {
  background: #8abc04;
  border-color: #8abc04;
  color: #fff;
}
.request-demo-source {
  background: #fff;
}
.request-demo-source .container-fluid,
.global-source-page .container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}
.source-form-row {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 30px);
  margin-right: -15px;
  margin-left: -15px;
}
.source-form-col {
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
.source-form-col-half {
  width: 50%;
}
.source-form-col.no_gap {
  padding: 0;
}
.source-form-col.no_gap img {
  width: 100%;
  height: 100%;
  min-height: 650px;
  object-fit: cover;
}
.reqDemoWrapper {
  padding: 28px 45px 35px;
  background: #fff;
}
.heading_container h2 {
  margin: 0 0 20px;
  color: #404a3d;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 38px;
  line-height: 1.2;
  font-weight: 600;
}
.source-demo-form form,
.source-contact-form {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 30px);
  margin-right: -15px;
  margin-left: -15px;
}
.source-demo-form .col-md-6,
.source-demo-form .col-md-12,
.source-contact-form .col-md-6,
.source-contact-form .col-md-12 {
  width: 50%;
  padding-right: 15px;
  padding-left: 15px;
}
.source-demo-form .col-md-12,
.source-contact-form .col-md-12 {
  width: 100%;
}
.source-demo-form input,
.source-demo-form select,
.source-demo-form textarea,
.source-contact-form input,
.source-contact-form textarea {
  width: 100%;
  margin: 5px 0;
  padding: 19px 22px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: #eceeef;
  color: #444141;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
}
.source-demo-form select {
  height: 58px;
}
.source-demo-form textarea,
.source-contact-form textarea {
  height: 119px;
  resize: vertical;
}
.source-demo-form .termncon {
  margin: 0 0 10px;
  color: #333;
  font-size: 16px;
  line-height: 24px;
}
.source-form-submit,
.contactusFormSubmitBtn {
  max-width: 150px;
  background: #eddd5e !important;
  color: #333 !important;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
}
.source-form-notice {
  margin: 0 0 12px;
}
.global-source-page {
  background: #fff;
}
.mapSectionContainer {
  padding-top: 20px;
  padding-bottom: 20px;
}
.mapSectionContainer .row {
  width: min(1170px, 100%);
  margin: 0 auto;
}
.contactusForm {
  min-height: 420px;
  padding: 15px;
  background: #f8f5e5;
}
.contactusForm h1 {
  margin: 0 0 15px;
  color: #404a3d;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 34px;
  line-height: 1.2;
  text-align: center;
}
.global-locations {
  padding: 20px 15px 10px;
}
.global-locations h2 {
  margin: 0 0 20px;
  color: #404a3d;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 44px;
  line-height: 1.2;
  text-align: center;
}
.global-location-row {
  display: flex;
  flex-wrap: wrap;
  width: min(1170px, 100%);
  margin: 0 auto;
}
.gloLoc {
  width: 33.333333%;
  padding: 20px;
  text-align: center;
}
.gloLoc .flag img {
  width: auto;
  max-width: 100px;
  height: 62px;
  margin: 0 auto 12px;
  object-fit: contain;
}
.gloLoc .address p {
  margin: 0;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 24px;
}
.gloLoc a,
.call-to-action a {
  color: #2f872a;
}
.call-to-action {
  padding: 30px 15px;
  background: #f5f0ea;
}
.callactionWholeWrapper {
  display: flex;
  flex-wrap: wrap;
  width: min(1170px, 100%);
  margin: 0 auto;
}
.columnWholeDiv {
  width: 50%;
  padding: 15px;
}
.callactionWrapper {
  display: flex;
  flex-wrap: wrap;
}
.callactionWrapper .columnDiv {
  width: 50%;
  padding: 15px;
  border-bottom: 1px solid #ccc;
}
.callactionWrapper .columnDiv:nth-child(3),
.callactionWrapper .columnDiv:nth-child(4) {
  border-bottom: 0;
}
.globalLocationIcon {
  width: 70px;
  height: 70px;
  margin: 0 auto 10px;
  text-align: center;
}
.globalLocationIcon img {
  width: 100%;
  height: auto;
}
.contentDiv {
  width: 90%;
  margin: 0 auto;
  text-align: center;
}
.verticalCenter {
  display: flex;
  align-items: center;
  justify-content: center;
}
.reqDemoPanelBtn {
  display: inline-block;
  margin-top: 10px;
  padding: 15px;
  background: #333;
  color: #fff !important;
  text-transform: uppercase;
}
.source-about-logo-band {
  margin-bottom: 30px;
  padding: 0;
  background: #fff;
  text-align: center;
}
.source-about-logo-band .title {
  margin: 0;
  padding: 15px 0 0;
}
.source-about-main-logo {
  width: 200px;
  margin: 15px auto 0;
}
.source-about-datagreen {
  width: 140px;
  margin: 0 auto;
}
.source-about-section {
  width: min(1170px, 100%);
  padding: 0 15px 35px;
  background: #fff;
}
.source-about-section .title {
  margin: 0 0 12px;
  color: #404a3d;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 36px;
  line-height: 1.2;
  text-align: center;
}
.source-about-lead {
  max-width: 780px;
  margin: 0 auto 20px;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 22px;
  line-height: 30px;
  text-align: center;
}
.source-about-grid {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 25px;
  align-items: start;
}
.source-about-copy {
  padding-left: 8.333333%;
}
.source-about-copy p {
  margin: 0 0 10px;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}
.source-about-copy strong {
  display: block;
  padding: 10px 0;
  color: #2f872a;
  font-size: 18px;
}
.source-about-image {
  text-align: center;
}
.source-about-image img {
  width: 100%;
  height: auto;
}
.supply-intro-section {
  padding: 50px 0;
  background: #fff;
}
.supply-row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
}
.supply-col-6 { grid-column: span 6; }
.supply-col-4 { grid-column: span 4; }
.supply-col-8 { grid-column: span 8; }
.supply-padding-tb-15 {
  padding-top: 15px;
  padding-bottom: 15px;
}
.supply-featured-image img {
  display: block;
}
.supply-intro-section .supply-featured-image img {
  width: 76%;
  margin: 0 auto;
}
.supply-intro-section h1 {
  margin: 0;
  padding-top: 20px;
  color: #404a3d;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 35px;
  line-height: 1.2;
  text-transform: uppercase;
  font-weight: 600;
}
.supply-intro-section p,
.supply-benefit-section p,
.supply-why-section p {
  color: #333;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  text-align: justify;
}
.supply-benefit-section {
  padding: 60px 0;
  background: #f5f0ea;
  text-align: center;
}
.supply-benefit-section h1 {
  margin: 0 0 10px;
  color: #404a3d;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 35px;
  line-height: 1.2;
  text-transform: uppercase;
  font-weight: 600;
}
.supply-benefit-section p {
  margin: 0;
  text-align: left;
}
.supply-why-section {
  margin-top: 48px;
  margin-bottom: 20px;
  padding-bottom: 0;
  background: #fff;
}
.supply-why-copy {
  padding: 7px 15px 15px;
  background: #f5f0ea;
  min-height: 371px;
}
.supply-why-section h3 {
  margin: 0 0 3px;
  padding-top: 0;
  color: #1c8c0e;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 600;
}
.supply-why-section h2 {
  margin: 0 0 10px;
  color: #404a3d;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 31px;
  line-height: 1.12;
  text-transform: uppercase;
  font-weight: 600;
}
.supply-why-section p {
  margin: 0;
}
.supply-why-image {
  padding-right: 0;
}
.supply-why-image img {
  width: 100%;
  height: 371px;
  object-fit: cover;
}
.supply-try-section {
  padding: 140px 0;
  background: #fff;
  text-align: center;
}
.supply-try-section h1 {
  margin: 0 0 10px;
  color: #1e4803;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 37px;
  line-height: 1.2;
  text-transform: uppercase;
  font-weight: 600;
}
.supply-try-section p {
  margin: 0;
  color: #516404;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 18px;
  line-height: 1.55;
  text-align: center;
  text-transform: uppercase;
}
.supply-signup-form {
  padding: 110px 0;
  text-align: center;
  background-image: var(--source-cta-bg);
  background-size: cover;
  background-position: center;
}
.supply-demo-content {
  margin: 0 0 42px;
  color: #fff;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 30px;
  line-height: 44px;
  text-transform: uppercase;
}
.supply-demo-panel-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 23px 38px;
  border-radius: 3px;
  background: #eddd5e;
  color: #404a3d;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 19px;
  line-height: 1;
  font-weight: 700;
  text-transform: none;
}
.source-article-grid {
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 30px;
}
.source-article-grid > article {
  max-width: 860px;
}
.source-article-main {
  width: 100%;
  height: auto;
  margin-bottom: 18px;
}
.source-article h2,
.source-article h3 {
  margin: 20px 0 10px;
  font-size: 24px;
  text-transform: none;
}
.source-article h3 {
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-weight: 700;
}
.source-share-row {
  display: flex;
  gap: 8px;
  margin: 24px 0;
}
.source-share-row a {
  padding: 5px 11px;
  background: #4267b2;
  color: #fff;
  font-size: 12px;
}
.source-article-cta {
  margin-top: 28px;
  padding: 30px 24px 50px;
  background-color: #15909f;
}
.source-article-cta div {
  text-align: center;
}
.source-article-cta h2 {
  color: #fff;
  font-size: 24px;
  line-height: 1.45;
  text-transform: none;
}
.source-article-cta a {
  background: #ff7800;
  color: #fff;
}
.source-side-demo {
  padding: 22px;
  background: #f7f7f7;
  border: 1px solid #dedede;
}
.source-side-demo h2 {
  margin: 0 0 18px;
  font-size: 26px;
  text-align: center;
}
.source-side-demo form {
  display: grid;
  gap: 10px;
}
.source-side-demo input,
.source-side-demo select,
.source-side-demo textarea {
  width: 100%;
  border: 1px solid #d5d5d5;
  padding: 12px 14px;
  background: #fff;
  font-size: 15px;
}
.source-side-demo textarea {
  min-height: 118px;
}
.source-side-demo button {
  min-height: 44px;
  border: 0;
  background: #52a7a7;
  color: #fff;
  font-weight: 900;
}
.source-customers {
  padding: 20px 0 64px;
  background: #fff;
}
.source-customers h2 {
  margin: 0 0 24px;
  font-size: 30px;
  text-align: center;
  text-transform: none;
}
.source-customers h2 span {
  color: #ff7800;
}
.source-customer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.source-customer-grid div {
  min-height: 110px;
  display: grid;
  place-items: center;
  border: 1px solid #808080;
  background: #fff;
  padding: 12px;
}
.source-customer-grid img {
  max-width: 150px;
  max-height: 82px;
  object-fit: contain;
}
.source-customers-canvas {
  padding: 0;
  background: #fff;
}
.source-customers-canvas img {
  width: 100%;
  display: block;
}
.source-solutions-timeline {
  padding: 30px 0;
  background: #fff;
}
.source-solutions-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  align-items: center;
}
.source-solutions-video {
  text-align: center;
}
.source-solutions-video iframe {
  width: 100%;
  height: 315px;
  border: 2px solid #dedede;
}
.source-solutions-video p,
.source-timeline p,
.source-platform-pair p,
.source-solution-row li {
  color: #333;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 17px;
  line-height: 1.65;
}
.source-timeline {
  position: relative;
  display: grid;
  gap: 18px;
  padding-left: 30px;
}
.source-timeline::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 0;
  bottom: 0;
  width: 3px;
  background: #5b8d52;
}
.source-timeline div {
  position: relative;
  padding: 16px 18px;
  background: #f5f0ea;
  border-left: 4px solid #eddd5e;
}
.source-timeline div::before {
  content: "";
  position: absolute;
  left: -34px;
  top: 22px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #5b8d52;
}
.source-one-platform {
  padding: 36px 0;
  background: #f5f0ea;
}
.source-platform-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.source-platform-pair article {
  padding: 34px 42px;
  text-align: center;
  background: #fff;
}
.source-platform-pair article + article {
  border-left: 1px solid #e0dfdc;
}
.source-platform-pair img {
  width: 125px;
  height: 125px;
  object-fit: contain;
  margin-bottom: 12px;
}
.source-platform-pair h2,
.source-solution-row h3 {
  margin: 0 0 12px;
  color: #404a3d;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 24px;
  font-weight: 700;
}
.source-platform-pair a,
.solution-read-item a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 10px;
  padding: 0 18px;
  background: #eddd5e;
  color: #404a3d;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-weight: 700;
}
.source-solutions-rows {
  padding: 24px 0 58px;
  background: #fff;
}
.source-solution-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: center;
  margin: 30px 0;
}
.source-solution-row.reverse > div:first-child {
  order: 2;
}
.source-solution-row img,
.source-solution-wide-image img {
  width: 100%;
  display: block;
}
.source-solution-row h3 {
  text-align: left;
}
.source-solution-row .leaf-list li {
  font-size: 16px;
  text-align: left;
}
.source-solution-wide-image {
  margin: 16px 0 20px;
}
.solution-read-item {
  padding-left: 0 !important;
}
.solution-read-item::before {
  display: none;
}

.eudr-hero {
  margin-top: 110px;
  padding: 0 0 32px;
  background: #fff;
}
.eudr-section,
.eudr-commodities {
  padding: 70px 0;
  background: #fff;
}
.eudr-split {
  display: grid;
  grid-template-columns: 1.25fr .9fr;
  gap: 42px;
  align-items: center;
}
.eudr-split.reverse { grid-template-columns: .9fr 1.25fr; }
.eudr-split > img,
.eudr-row-card img,
.eudr-support img {
  width: 100%;
  border-radius: 8px;
  object-fit: cover;
}
.eudr-logo {
  width: 150px;
  margin-bottom: 22px;
}
.eudr-hero h1,
.eudr-section h2,
.eudr-support h2,
.eudr-row-card h2,
.eudr-commodities h2,
.eudr-faq h2,
.eudr-demo-form h2,
.eudr-case-studies h2 {
  margin: 0 0 22px;
  color: #404a3d;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 37px;
  line-height: 1.18;
  font-weight: 700;
}
.eudr-hero p,
.eudr-section p,
.eudr-support p,
.eudr-row-card p,
.eudr-commodities p,
.leaf-list li {
  color: #333;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 18px;
  line-height: 1.7;
  text-align: justify;
}
.eudr-support {
  padding: 50px 0;
  background: #f5f7f2;
}
.eudr-support-copy {
  padding: 30px 25px 46px;
  background: #f5f0ea;
}
.leaf-list {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 18px 0 0;
  list-style: none;
}
.leaf-list li {
  position: relative;
  padding-left: 34px;
  text-align: left;
}
.leaf-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .35em;
  width: 20px;
  height: 20px;
  background: url("https://www.sourcetrace.com/wp-content/uploads/2022/07/leaf-icon.png") center / contain no-repeat;
}
.eudr-platform {
  padding: 42px 0 60px;
  background: #fff;
  text-align: center;
}
.eudr-platform h2 {
  margin: 0 0 24px;
  font-size: 32px;
}
.eudr-video-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center;
}
.eudr-video-grid img {
  width: 85%;
  margin: 0 auto;
}
.eudr-video-grid iframe {
  width: 100%;
  height: 350px;
  border: 0;
}
.eudr-green-band {
  padding: 58px 0;
  background: #5b8d52;
}
.eudr-green-band p {
  margin: 0 auto 15px;
  max-width: 940px;
  color: #fff;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 18px;
  line-height: 1.7;
  text-align: center;
}
.eudr-two-rows {
  padding: 80px 0;
  background: #fff;
}
.eudr-row-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: stretch;
  margin-bottom: 44px;
}
.eudr-row-card div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 50px 40px;
}
.eudr-row-card img {
  min-height: 360px;
  box-shadow: 0 20px 40px rgba(0,0,0,.08);
}
.eudr-commodities h3 {
  margin: 28px 0 0;
  font-size: 20px;
}
.eudr-faq {
  padding: 60px 0;
  background: #f5f0ea;
}
.eudr-faq h2,
.eudr-demo-form h2,
.eudr-case-studies h2 {
  text-align: center;
  font-size: 34px;
}
.faq-list {
  max-width: 900px;
  margin: 0 auto;
}
.faq-list details {
  border-bottom: 1px solid #ddd;
}
.faq-list summary {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0;
  color: #333;
  font-family: "Roboto Condensed", Inter, sans-serif;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
}
.faq-list p {
  margin: 0 0 18px;
  color: #555;
  line-height: 1.65;
}
.eudr-testimonials .value-testimonial-item img {
  width: 92px;
  height: 72px;
  object-fit: contain;
  margin: 0 auto 14px;
}
.eudr-small-title {
  margin: 0 0 12px;
  text-align: center;
  font-family: "Roboto Condensed", Inter, sans-serif;
  letter-spacing: 0;
}
.eudr-demo-case {
  padding: 60px 0 0;
  background: #5b8c51;
}
.eudr-demo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.eudr-demo-form {
  padding: 10px;
}
.eudr-demo-form h2 {
  color: #fff;
  text-align: left;
}
.eudr-demo-form h2 span { color: #ffec07; }
.eudr-demo-form form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.eudr-demo-form input,
.eudr-demo-form select,
.eudr-demo-form textarea {
  width: 100%;
  border: 0;
  border-radius: 4px;
  padding: 14px 11px;
  background: #fff;
  font-size: 18px;
}
.eudr-demo-form select,
.eudr-demo-form textarea,
.eudr-demo-form button {
  grid-column: 1 / -1;
}
.eudr-demo-form textarea { min-height: 120px; }
.eudr-demo-form button,
.case-grid a {
  width: 150px;
  min-height: 54px;
  border: 0;
  border-radius: 4px;
  background: #f4d021;
  color: #111;
  font-weight: 900;
  text-transform: uppercase;
}
.eudr-case-studies {
  padding: 28px;
  background: #fff;
}
.eudr-case-studies h2 { text-align: left; }
.case-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.case-grid article {
  display: grid;
  gap: 12px;
}
.case-grid img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}
.case-grid h3 {
  min-height: 70px;
  margin: 0;
  color: #404a3d;
  font-size: 17px;
  line-height: 1.35;
}
.case-grid a {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.impact-footer {
  position: relative;
  background: #222;
  color: #fff;
  padding: 122px 0 52px;
}
.farm-strip {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 118px;
  background: url("https://sourcetrace.com/wp-content/themes/sts-v3/home_assets/images/resources/site-footer-farm.png") center bottom / auto 118px repeat-x;
}
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.metric-box { padding: 30px 20px; text-align: center; border-right: 1px solid rgba(255,255,255,.12); }
.metric-box h3 { margin: 0 0 12px; color: #fff; font-size: 31px; }
.metric-box p { margin: 0; color: #d2d2d2; }
.footer-main { background: #fff; padding: 54px 0 0; border-top: 1px solid #ddd; }
.footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.footer-main h3 { margin: 0 0 18px; font-size: 21px; }
.footer-main p { color: var(--text); line-height: 1.65; }
.footer-main img { width: 100%; height: 130px; object-fit: cover; margin-bottom: 14px; }
.footer-main a { color: var(--green); font-weight: 900; }
.footer-logo { margin-bottom: 16px; }
.socials { display: flex; gap: 10px; flex-wrap: wrap; }
.socials a {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f0f5ee;
  color: var(--green);
  font-weight: 900;
}
.copyright { margin-top: 36px; padding: 18px; text-align: center; border-top: 1px solid #e1e1e1; color: #777; }

.floating-media {
  position: fixed;
  z-index: 800;
  left: 22px;
  bottom: 34px;
  width: 176px;
  padding: 14px;
  display: grid;
  gap: 8px;
  text-align: center;
  background: #00cd6a;
  color: #fff;
  box-shadow: var(--shadow);
}
.floating-media button {
  position: absolute;
  right: -18px;
  top: 8px;
  width: 32px;
  height: 32px;
  border: 0;
  background: #00cd6a;
  cursor: pointer;
}
.floating-media a { color: #fff; text-transform: uppercase; font-weight: 900; font-size: 12px; }
.whitepaper-overlay {
  position: fixed;
  inset: 0;
  z-index: 1190;
  background: rgba(0,0,0,.48);
  opacity: 0;
  pointer-events: none;
  transition: .25s ease;
}
.whitepaper-pop {
  position: fixed;
  z-index: 1200;
  left: 50%;
  top: 50%;
  width: min(640px, calc(100% - 30px));
  min-height: 270px;
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 20px;
  align-items: center;
  padding: 26px;
  background: #fff;
  box-shadow: var(--shadow);
  transform: translate(-50%, -42%) scale(.96);
  opacity: 0;
  pointer-events: none;
  transition: .28s ease;
}
.whitepaper-pop.open, .whitepaper-overlay.open { opacity: 1; pointer-events: auto; }
.whitepaper-pop.open { transform: translate(-50%, -50%) scale(1); }
.whitepaper-pop button {
  position: absolute;
  right: 12px;
  top: 8px;
  border: 0;
  background: transparent;
  font-size: 24px;
  cursor: pointer;
}
.paper-art {
  width: 160px;
  height: 210px;
  background: linear-gradient(135deg, #e7f5df, #fff 52%, #78b944);
  border: 1px solid #d5dfcf;
  box-shadow: 0 14px 30px rgba(0,0,0,.12);
}
.whitepaper-pop p { margin: 0; font-size: 22px; line-height: 1.45; }
.whitepaper-pop a {
  justify-self: start;
  padding: 12px 18px;
  background: var(--green);
  color: #fff;
  font-weight: 900;
}
.cookie {
  position: fixed;
  z-index: 1500;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  padding: 18px 28px;
  background: #000;
  color: #fff;
  text-align: center;
}
.cookie p { margin: 0; max-width: 820px; line-height: 1.45; }
.cookie button { border: 0; cursor: pointer; }
.cookie [data-cookie-ok] { padding: 10px 14px; background: var(--teal); color: #fff; border-radius: 4px; }
.cookie [data-cookie-close] { background: transparent; color: #777; font-size: 28px; }
.cookie.hidden, .floating-media.hidden { display: none; }
.to-top {
  position: fixed;
  right: 20px;
  bottom: 86px;
  z-index: 900;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  background: var(--green);
  color: #fff;
  opacity: 0;
  transform: translateY(10px);
  transition: .25s ease;
}
.to-top.show { opacity: 1; transform: translateY(0); }

.admin-shell { min-height: 100vh; background: #f5f7f4; display: grid; grid-template-columns: 260px 1fr; }
.admin-side { background: #102219; color: #d9e7df; padding: 24px; }
.admin-side a { display: block; padding: 11px 12px; border-radius: 6px; margin: 6px 0; color: #d9e7df; }
.admin-side a:hover { background: rgba(255,255,255,.08); }
.admin-main { padding: 32px; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 24px; box-shadow: 0 12px 36px rgba(23,42,31,.08); margin-bottom: 22px; }
.cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.card { border: 1px solid var(--line); border-radius: 8px; padding: 24px; background: #fff; box-shadow: 0 10px 30px rgba(22,42,30,.06); }
.card h3 { margin: 0 0 12px; }
.card p { color: var(--text); line-height: 1.6; }
.table { width: 100%; border-collapse: collapse; }
.table th, .table td { text-align: left; padding: 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.actions { display: flex; gap: 8px; flex-wrap: wrap; }
.small-btn { display: inline-flex; border-radius: 6px; border: 1px solid var(--line); padding: 8px 10px; background: #fff; cursor: pointer; font-weight: 700; }
.danger { color: #a32727; }
.login { min-height: 100vh; display: grid; place-items: center; background: var(--soft); padding: 24px; }
.login .panel { width: min(420px, 100%); }

.reveal, .reveal-child { opacity: 0; transform: translateY(38px); transition: opacity .9s ease, transform .9s ease; transition-delay: var(--delay, 0ms); }
.reveal.in { opacity: 1; transform: translateY(0); }
.reveal.in .reveal-child, .reveal-child.in { opacity: 1; transform: translateY(0); }
@keyframes slideUp { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes valueTestimonials {
  0%, 20% { transform: translateX(0); }
  25%, 45% { transform: translateX(-25%); }
  50%, 70% { transform: translateX(-50%); }
  75%, 95% { transform: translateX(-75%); }
  100% { transform: translateX(-75%); }
}
@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 1199px) {
  .media-project-column { width: 33.333333%; }
}

@media (max-width: 991px) {
  .media-project-column { width: 50%; }
  .case-project-column { width: 50%; }
  .source-blog-column { width: 50%; }
  .webinars-main-col,
  .webinars-side-col {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
  }
  .webinars-side-col {
    margin-top: 10px;
  }
  .case-logo-col {
    width: 100%;
    margin-left: 0;
  }
  .case-logo-col img { width: 100%; }
  .source-form-col-half,
  .gloLoc,
  .columnWholeDiv {
    width: 100%;
  }
  .source-form-col.no_gap img {
    min-height: auto;
  }
  .source-about-grid {
    grid-template-columns: 1fr;
  }
  .source-about-copy {
    padding-left: 0;
  }
}

@media (max-width: 767px) {
  .media-project-column { width: 100%; }
  .case-project-column { width: 100%; }
  .source-blog-column { width: 100%; }
  .case-template-caption { left: 5px; }
  .case-logo-col img { width: 100%; }
  .webinar-template-caption { left: 5px; }
  .source-template-caption { left: 5px; }
  .webinarsLogo {
    margin: 20px auto 10px;
  }
  .reqDemoWrapper {
    padding: 24px 15px;
  }
  .source-demo-form .col-md-6,
  .source-contact-form .col-md-6 {
    width: 100%;
  }
  .callactionWrapper .columnDiv {
    width: 100%;
    border-bottom: 1px solid #ccc;
  }
  .callactionWrapper .columnDiv:last-child {
    border-bottom: 0;
  }
  .whitePaperListWrapper {
    padding: 15px;
  }
  .wprListItem {
    flex-direction: column;
    border-bottom: 0;
  }
  .wPrListItemColTxt,
  .wPrListItemColImg {
    width: 100%;
  }
  .w-img {
    display: none;
  }
}

@media (max-width: 1060px) {
  .site-header { height: 76px; gap: 12px; }
  .site-logo-img { width: 142px; }
  .value-page-title { margin-top: 76px; align-items: start; padding-top: 78px; }
  .quick-socials { display: flex; }
  .nav-toggle { display: block; }
  .main-nav {
    position: fixed;
    top: 76px;
    left: 0;
    right: 0;
    max-height: calc(100vh - 76px);
    display: none;
    overflow: auto;
    padding: 10px 22px 26px;
    background: #fff;
    border-top: 1px solid var(--line);
  }
  .main-nav.open { display: block; }
  .nav-item > a, .search-trigger { width: 100%; justify-content: space-between; padding: 0; border-bottom: 1px solid #eee; }
  .header-socials { margin: 14px 0 0; justify-content: flex-start; }
  .dropdown { position: static; width: 100%; box-shadow: none; opacity: 1; visibility: visible; transform: none; display: none; border-top: 0; padding: 0 0 10px 14px; }
  .has-dropdown.open .dropdown { display: block; }
  .dropdown a { padding: 10px 0; }
  .hero-content h1 { font-size: clamp(42px, 11vw, 68px); }
}

@media (max-width: 850px) {
  .two-col, .newsletter-inner, .contact-grid, .footer-grid { grid-template-columns: 1fr; }
  .role-grid, .solution-grid, .video-grid, .blog-grid, .metric-grid, .resource-grid, .solution-directory, .process-strip .container, .mini-card-grid, .logo-grid, .values-band .container, .value-landing-grid, .value-benefits-grid, .value-video-grid, .value-counter-grid, .agri-intro-grid, .agri-benefits-grid, .agri-module-layout, .agri-module-panel.active, .carbon-intro-grid, .carbon-card-grid-4, .carbon-card-grid-3, .carbon-gap-grid, .carbon-why-grid, .classic-hero-grid, .classic-hero-row, .classic-platform-grid, .classic-tech-grid, .classic-card-grid, .classic-features-grid, .supply-grid, .supply-why-grid, .source-article-grid, .source-customer-grid, .source-solutions-grid, .source-platform-pair, .source-solution-row, .eudr-split, .eudr-split.reverse, .eudr-video-grid, .eudr-row-card, .eudr-demo-grid, .case-grid { grid-template-columns: 1fr; }
  .cards { grid-template-columns: 1fr; }
  .hero-slider { min-height: 760px; }
  .hero-content { padding-top: 30px; }
  .hero-dots { right: 9px; gap: 9px; }
  .about-one, .platform, .brand-strip, .testimonials, .videos, .blog-section, .inner-content, .form-section, .resource-band { padding: 64px 0; }
  .image-stack { min-height: 440px; }
  .main-img { height: 330px; }
  .small-img { height: 200px; }
  .testimonial-slider { min-height: 430px; }
  .whitepaper-pop { grid-template-columns: 1fr; text-align: center; }
  .whitepaper-pop a { justify-self: center; }
  .paper-art { margin: 0 auto; }
  .floating-media { display: none; }
  .value-page-title { min-height: 250px; }
  .value-landing { min-height: auto; }
  .value-landing-grid { gap: 16px; }
  .value-copy { padding: 0; }
  .value-logo { width: 132px; padding: 8px; margin-bottom: 12px; }
  .value-copy h2 { font-size: 26px; margin-bottom: 14px; }
  .value-copy p { font-size: 17px; }
  .value-demo { padding: 0 30px 20px; }
  .value-demo-form { grid-template-columns: 1fr; }
  .field-full { grid-column: auto; }
  .value-benefits h2 { font-size: 34px; }
  .value-chain-visual img { margin-top: 28px; }
  .value-counter-box { min-height: 170px; }
  .value-testimonial-item { padding: 0 10px; }
  .agri-page-title { min-height: 194px; padding-top: 62px; }
  .agri-page-title h1 { max-width: 430px; }
  .agri-intro { padding-top: 20px; }
  .agri-intro-grid { gap: 12px; }
  .agri-demo-row { align-items: stretch; }
  .agri-demo-btn { min-width: 190px; min-height: 54px; }
  .agri-demo-row img { flex: 1; min-width: 0; }
  .agri-hero-visual img { max-height: none; }
  .agri-benefits { padding-top: 0; }
  .agri-benefits-grid { gap: 18px; }
  .agri-benefits-art { min-height: 380px; }
  .agri-benefits-copy h2 { font-size: 42px; }
  .agri-modules h2 { font-size: 43px; }
  .agri-module-layout { border: 0; }
  .agri-module-tabs { border: 1px solid #dce4d7; }
  .agri-module-panel.active { padding: 22px 0; }
  .carbon-intro { margin-top: 121px; padding-top: 43px; padding-bottom: 76px; }
  .carbon-intro-grid { gap: 10px; }
  .carbon-feature-section { padding-bottom: 76px; }
  .carbon-card-grid article { min-height: auto; }
  .carbon-gap, .carbon-satellite { padding: 64px 0; }
  .carbon-gap h2, .carbon-satellite h2 { font-size: 34px; }
  .source-cta h2 { font-size: 24px; }
  .supply-source-hero { margin-top: 76px; }
  .media-source-hero { margin-top: 0; }
  .case-source-hero { margin-top: 0; }
  .white-source-hero { margin-top: 0; }
  .supply-template-caption {
    left: 24px;
    width: 81%;
  }
  .media-template-caption {
    left: 15px;
    width: 70%;
  }
  .case-template-caption {
    width: 70%;
  }
  .white-template-caption {
    left: 5px;
    width: 70%;
  }
  .supply-template-caption h1 {
    margin-left: -10px;
    padding: 10px;
    font-size: 24px;
  }
  .media-template-caption h1 {
    margin-left: 0;
    margin-top: 150px;
    padding: 15px;
    font-size: 24px;
  }
  .case-template-caption h1 {
    margin-left: 0;
    margin-top: 150px;
    padding: 15px;
    font-size: 24px;
  }
  .white-template-caption h1 {
    margin-left: 0;
    margin-top: 150px;
    padding: 15px;
    font-size: 24px;
  }
  .supply-row { grid-template-columns: 1fr; }
  .supply-col-6,
  .supply-col-4,
  .supply-col-8 { grid-column: auto; }
  .supply-intro-section h1,
  .supply-benefit-section h1,
  .supply-try-section h1 { font-size: 33px; }
  .supply-why-copy { min-height: auto; }
  .supply-why-image img { height: auto; }
  .supply-demo-content {
    font-size: 24px;
    line-height: 34px;
  }
  .classic-solution-hero,
  .source-title-banner { margin-top: 88px; }
  .classic-solution-hero { padding-top: 28px; }
  .classic-solution-hero h1,
  .source-title-banner h1,
  .supply-try h2 { font-size: 33px; }
  .classic-platform-copy { padding: 32px 24px; }
  .classic-platform h2 { margin-left: 0; font-size: 31px; }
  .classic-leaf { margin-left: 0; }
  .classic-platform-image img { min-height: 300px; }
  .classic-sector-grid { grid-template-columns: repeat(2, 1fr); }
  .classic-info-card { min-height: auto; padding: 30px 18px; }
  .classic-info-card > div { padding: 30px 22px; }
  .classic-tech-grid > h2 { grid-column: auto; }
  .classic-video iframe { height: 285px; }
  .source-parallax { min-height: 190px; background-attachment: scroll; }
  .supply-grid img { width: 76%; }
  .supply-why img { height: auto; }
  .supply-try { padding: 70px 0; }
  .source-article-grid > article { max-width: none; }
  .source-article-food .source-article-grid { grid-template-columns: 1fr; }
  .source-solutions-video iframe { height: 280px; }
  .source-timeline { padding-left: 24px; }
  .source-platform-pair article + article { border-left: 0; border-top: 1px solid #e0dfdc; }
  .source-solution-row.reverse > div:first-child { order: 0; }
  .source-solution-row { gap: 16px; }
  .eudr-hero { margin-top: 88px; }
  .eudr-split { gap: 26px; }
  .eudr-hero h1, .eudr-section h2, .eudr-support h2, .eudr-row-card h2, .eudr-commodities h2 { font-size: 34px; }
  .eudr-section, .eudr-commodities, .eudr-two-rows { padding: 56px 0; }
  .eudr-row-card div { padding: 18px 0; }
  .eudr-row-card img { min-height: auto; }
  .eudr-video-grid iframe { height: 300px; }
  .eudr-demo-form form { grid-template-columns: 1fr; }
  .eudr-demo-form input, .eudr-demo-form select, .eudr-demo-form textarea, .eudr-demo-form button { grid-column: auto; }
  .case-grid h3 { min-height: auto; }
}

@media (min-width: 768px) {
  .source-home .col-md-6 { width: 50%; }
}

@media (min-width: 992px) {
  .source-home .col-lg-3 { width: 25%; }
  .source-home .col-lg-4 { width: 33.333333%; }
  .source-home .col-lg-6 { width: 50%; }
}

@media (min-width: 1200px) {
  .source-home .col-xl-3 { width: 25%; }
  .source-home .col-xl-4 { width: 33.333333%; }
  .source-home .col-xl-6 { width: 50%; }
}

@media (max-width: 991px) {
  .source-home .about1_img {
    max-width: 620px;
    margin: 0 auto 120px;
  }
  .source-home .service_1_single,
  .source-home .recent_project_single,
  .source-home .blog_one_single {
    margin-bottom: 30px;
  }
  .source-home .testimonials_one_left {
    max-width: none;
  }
  .source-home .testimonials_one_content {
    min-height: 0;
    margin-bottom: 40px;
  }
  .source-home .benefits_text {
    margin-left: 0;
  }
  .source-home-impact .metric-grid {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 34px;
  }
}

@media (max-width: 767px) {
  .source-home .container,
  .source-home .auto-container {
    width: min(100% - 30px, 1200px);
  }
  .source-home .banner-carousel {
    min-height: 760px;
  }
  .source-home .banner-carousel .content-box .content {
    padding: 168px 0 140px;
  }
  .source-home .banner-carousel .content-box h3 {
    margin-bottom: 30px;
    font-size: 40px;
    line-height: 50px;
  }
  .source-home .banner-carousel .content-box .sub-title {
    font-size: 13px;
    line-height: 23px;
    letter-spacing: .12em;
  }
  .source-home .banner-carousel .content-box .sub-title:before {
    display: none;
  }
  .source-home .hero-dots {
    right: 22px;
    left: auto;
    width: auto;
    transform: translateY(-50%);
  }
  .source-home .about_one {
    padding: 80px 0 100px;
  }
  .source-home .about_one .block-title h1,
  .source-home .service_one .block-title h2,
  .source-home .source-newsletter .block-title h3 {
    font-size: 38px;
  }
  .source-home .about1_shape_1 {
    display: none;
  }
  .source-home .about1_img {
    min-height: 0;
    margin-bottom: 45px;
  }
  .source-home .about1_img > img {
    width: 100%;
    height: auto;
  }
  .source-home .about_img_2 {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    margin-top: 18px;
  }
  .source-home .about1_icon-box {
    left: 32px;
  }
  .source-home .service_one {
    padding: 92px 0 62px;
  }
  .source-home .benefits_bottom_part {
    margin-bottom: 30px;
  }
  .source-home .benefits_single {
    margin-bottom: 18px;
  }
  .source-home .service_1_single .content {
    min-height: 0;
  }
  .source-home .cta-one {
    padding: 78px 0 86px;
  }
  .source-home .cta_one_content h6 {
    font-size: 24px;
    line-height: 34px;
  }
  .source-home .brand-one {
    padding: 82px 0;
  }
  .source-home .testimonials-one {
    padding: 82px 0 0;
  }
  .source-home .testimonials-one .block-title h3 {
    font-size: 40px;
  }
  .source-home .testimonials_one_content {
    padding: 52px 20px 80px;
  }
  .source-home .testimonials_one_single_item .text {
    min-height: 0;
  }
  .source-home .testimonials_one_single_item .text p {
    font-size: 20px;
    line-height: 29px;
  }
  .source-home .testimonials_one_single_item .client_thumbnail {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }
  .source-home .testimonials_one_single_item .client_thumbnail .client_title {
    padding-left: 0;
  }
  .source-home .testimonial-dots {
    right: 22px;
  }
  .source-home .recent-project {
    padding-top: 88px;
  }
  .source-home .source-newsletter {
    margin-top: -80px;
    padding: 180px 0 86px;
  }
  .source-home .source-newsletter .input-group {
    flex-direction: column;
  }
  .source-home .blog-one {
    padding: 92px 0 70px;
  }
  .source-home .blog-one__content {
    min-height: 0;
  }
  .source-home-impact {
    padding: 82px 0 62px;
  }
  .source-home-impact .metric-grid {
    grid-template-columns: 1fr;
  }
  .source-home-impact .metric-box {
    padding: 0 0 24px;
  }
}
