/* Global design tokens from the approved V3 specification. */
:root {
  --sbr-green: #004D40;
  --sbr-green-dark: #003B32;
  --sbr-green-deep: #002F29;
  --sbr-red: #E2232A;
  --sbr-warm-white: #FAF9F6;
  --sbr-ivory: #F5F2EA;
  --sbr-white: #FFFFFF;
  --sbr-text: #17312D;
  --sbr-text-secondary: #5E6B67;
  --sbr-text-muted: #7A8581;
  --sbr-border: #DDE3DF;
  --sbr-border-dark: #BCC9C4;
  --sbr-muted-green: #7A9289;
  --sbr-container: 1440px;
  --sbr-container-wide: 1600px;
  --sbr-text-width: 720px;
  --sbr-page-desktop: 72px;
  --sbr-page-tablet: 40px;
  --sbr-page-mobile: 22px;
  --sbr-section-xl: 160px;
  --sbr-section-lg: 128px;
  --sbr-section-md: 96px;
  --sbr-section-sm: 72px;
  --sbr-space-xs: 8px;
  --sbr-space-sm: 16px;
  --sbr-space-md: 24px;
  --sbr-space-lg: 32px;
  --sbr-space-xl: 48px;
  --sbr-space-2xl: 64px;
  --sbr-space-3xl: 80px;
  --sbr-radius-sm: 4px;
  --sbr-radius-md: 8px;
  --sbr-radius-lg: 12px;
  --sbr-transition-fast: 180ms ease;
  --sbr-transition: 280ms ease;
}

/* Theme-owned presentation. Elementor supplies content and composition. */
* {
  box-sizing:border-box
}

html {
  scroll-behavior:auto;
  scroll-padding-top:24px
}

body {
  margin:0;
  background:var(--sbr-warm-white);
  color:var(--sbr-text);
  font-family:Inter,Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.7
}

a {
  color:inherit;
  text-decoration:none
}

button,input {
  font:inherit
}

img {
  max-width:100%;
  height:auto
}

h1,h2,h3,h4,p {
  margin:0
}

a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible {
  outline:3px solid var(--sbr-red);
  outline-offset:5px
}

.sbr-skip {
  position:absolute;
  top:-100px;
  left:22px;
  z-index:10000;
  background:white;
  padding:12px
}

.sbr-skip:focus {
  top:10px
}

.sbr-header {
  background:white;
  position:relative;
  z-index:10
}

.sbr-header-inner {
  max-width:1600px;
  margin:auto;
  padding:20px 5%;
  display:flex;
  align-items:center;
  gap:30px;
  min-height:88px
}

.sbr-brand {
  display:block;
  flex-shrink:0;
  line-height:1.15
}

.sbr-brand>span {
  font-size:21px;
  font-weight:700;
  letter-spacing:.025em
}

.sbr-brand strong {
  color:var(--sbr-red);
  font-size:27px;
  letter-spacing:-.055em
}

.sbr-brand small {
  display:block;
  font-size:7.5px;
  letter-spacing:.14em;
  margin-top:4px;
  text-transform:uppercase
}

.custom-logo-link img {
  max-width:280px;
  max-height:65px;
  width:auto
}

.sbr-header ul,.sbr-footer ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:20px
}

.sbr-primary {
  margin-left:auto
}

.sbr-primary a,.sbr-footer nav a {
  font-size:12px;
  display:block;
  padding:12px 0;
  white-space:nowrap
}

.sbr-primary a:hover,.sbr-footer a:hover {
  color:var(--sbr-red)
}

.sbr-primary .current-menu-item>a {
  border-bottom:2px solid var(--sbr-green)
}

.sbr-primary li {
  position:relative
}

.sbr-primary .sub-menu {
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:190px;
  background:white;
  padding:16px;
  box-shadow:0 4px 16px #0001;
  flex-direction:column;
  align-items:stretch
}

.sbr-primary li:hover>.sub-menu,.sbr-primary li:focus-within>.sub-menu {
  display:flex
}

.sbr-utilities {
  display:flex;
  gap:18px;
  align-items:center
}

.sbr-utility a {
  display:block;
  background:var(--sbr-red);
  color:white;
  border-radius:5px;
  padding:11px 18px;
  font-size:12px;
  white-space:nowrap
}

.sbr-search summary {
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  cursor:pointer;
  list-style:none
}

.sbr-search form {
  position:absolute;
  right:5%;
  top:100%;
  padding:16px;
  background:white;
  box-shadow:0 4px 16px #0002
}

.sbr-search input {
  max-width:220px;
  padding:8px
}

.sbr-menu-toggle {
  display:none
}

.sbr-footer {
  background:white;
  padding:32px 6%
}

.sbr-footer-top,.sbr-footer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  max-width:1440px;
  margin:auto
}

.sbr-footer-bottom {
  margin-top:24px;
  font-size:12px;
  color:var(--sbr-text-secondary)
}

.sbr-footer ul {
  flex-wrap:wrap
}

.sbr-footer .sbr-brand>span {
  font-size:19px
}

/* Strongly scoped classes override Elementor defaults without widget-level styles. */
.elementor .e-con {
  --container-default-padding-top:0;
  --container-default-padding-right:0;
  --container-default-padding-bottom:0;
  --container-default-padding-left:0;
  --gap:0px;
  --widgets-spacing:0px;
  margin:0;
  min-width:0
}

.elementor .elementor-widget {
  margin-bottom:0
}

.elementor .elementor-element.sbr-heading .elementor-heading-title {
  font-family:Georgia,'Times New Roman',serif;
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.025em;
  color:inherit
}

.elementor h1.elementor-heading-title {
  font-size:clamp(48px,4vw,72px)
}

.elementor h2.elementor-heading-title {
  font-size:clamp(34px,3.1vw,56px)
}

.elementor h3.elementor-heading-title {
  font-size:clamp(23px,2vw,34px)
}

.elementor .elementor-element.sbr-body {
  font-size:clamp(15px,1.22vw,18px);
  line-height:1.55
}

.sbr-body p {
  margin:0
}

.elementor .elementor-element.sbr-eyebrow .elementor-heading-title {
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.5;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:14px
}

.sbr-eyebrow .elementor-heading-title:before {
  content:'';
  width:30px;
  height:3px;
  background:var(--sbr-red);
  flex-shrink:0
}

.elementor .elementor-element.sbr-button .elementor-button {
  background:transparent;
  color:var(--sbr-green);
  border:1px solid var(--sbr-muted-green);
  border-radius:5px;
  padding:13px 24px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  font-weight:500;
  line-height:1.3;
  min-height:44px;
  transition:background var(--sbr-transition-fast),color var(--sbr-transition-fast)
}

.elementor .elementor-element.sbr-button-primary .elementor-button {
  background:var(--sbr-green);
  color:white;
  border-color:var(--sbr-green)
}

.elementor .elementor-element.sbr-button .elementor-button:hover {
  background:var(--sbr-green-dark);
  color:white
}

.elementor .elementor-element.sbr-button-link .elementor-button {
  border:0;
  color:var(--sbr-red);
  padding-left:0;
  background:none
}

.elementor .elementor-element.sbr-copy {
  width:48%;
  gap:18px;
  z-index:2;
  position:relative
}

.sbr-copy .sbr-body {
  max-width:490px
}

.elementor .elementor-element.sbr-copy .sbr-button {
  margin-top:7px
}

.elementor .elementor-element.sbr-scene {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:56px 8.2%;
  min-height:380px;
  justify-content:center
}

.elementor .elementor-element.sbr-scene-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:-2
}

.sbr-scene-image .elementor-widget-container {
  height:100%
}

.sbr-scene-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}

.sbr-scene:after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,#faf9f6 0%,#faf9f6f5 26%,#faf9f6bd 43%,transparent 68%);
  pointer-events:none
}

.elementor .elementor-element.sbr-hero {
  min-height:clamp(540px,40vw,780px);
  padding-top:65px;
  padding-bottom:65px
}

.elementor .elementor-element.sbr-hero .sbr-copy {
  width:57%;
  gap:22px
}

.sbr-hero .sbr-body {
  max-width:460px
}

.elementor .elementor-element.sbr-hero-note {
  position:absolute;
  right:4%;
  bottom:40px;
  text-align:right;
  color:white;
  font-size:13px;
  letter-spacing:.035em
}

.elementor .elementor-element.sbr-group {
  min-height:360px
}

.sbr-group .sbr-copy {
  width:38%
}

.sbr-group .sbr-scene-image {
  left:35%;
  width:65%
}

.sbr-group:after {
  background:linear-gradient(90deg,#faf9f6 0%,#faf9f6 33%,#faf9f6d9 53%,transparent 80%)
}

.elementor .elementor-element.sbr-stats {
  position:absolute;
  left:42%;
  top:50%;
  width:34%;
  flex-direction:row;
  gap:30px;
  z-index:2
}

.elementor .elementor-element.sbr-stat {
  border-right:1px solid var(--sbr-red);
  padding-right:22px;
  gap:4px
}

.sbr-stat:last-child {
  border:0
}

.sbr-stat .elementor-heading-title {
  color:var(--sbr-red)!important;
  font-size:25px
}

.elementor .elementor-element.sbr-stat .sbr-body {
  font-size:13px
}

.elementor .elementor-element.sbr-about {
  min-height:400px
}

.elementor .elementor-element.sbr-image-note {
  position:absolute;
  right:9%;
  top:30%;
  font:26px/1.4 Georgia,serif;
  color:white;
  width:auto;
  border-top:1px solid white;
  border-bottom:1px solid white;
  padding:20px 0
}

.elementor .elementor-element.sbr-dark-section {
  background:var(--sbr-green-dark);
  color:white
}

.elementor .elementor-element.sbr-technology {
  min-height:380px
}

.sbr-technology:after {
  background:linear-gradient(90deg,#003b32 0%,#003b32cc 32%,transparent 55%,#003b32a8 74%,#003b32 100%)
}

.sbr-technology .sbr-copy {
  width:38%
}

.sbr-technology .sbr-scene-image {
  left:22%;
  width:70%
}

.elementor .elementor-element.sbr-dark-section .elementor-button {
  color:white;
  border-color:#c1cec9
}

.elementor .elementor-element.sbr-pillars {
  position:absolute;
  right:6%;
  width:24%;
  gap:22px
}

.elementor .elementor-element.sbr-pillar {
  flex-direction:row;
  align-items:center;
  gap:20px
}

.elementor .elementor-element.sbr-pillar h4 {
  font:14px/1.3 Arial,sans-serif;
  letter-spacing:0
}

.elementor .elementor-element.sbr-pillar .sbr-body {
  font-size:12px
}

.elementor .elementor-element.sbr-line-icon {
  width:auto
}

.sbr-line-icon .elementor-heading-title {
  font-size:35px;
  line-height:1.2!important
}

.elementor .elementor-element.sbr-section {
  padding:40px 8.2%;
  gap:24px
}

.elementor .elementor-element.sbr-section-heading {
  flex-direction:row;
  justify-content:space-between;
  align-items:center;
  gap:24px
}

.elementor .elementor-element.sbr-title-block {
  gap:10px
}

.sbr-section-heading .sbr-button {
  width:auto;
  flex-shrink:0
}

.elementor .elementor-element.sbr-section-heading h2 {
  font-size:32px
}

.elementor .elementor-element.sbr-solutions-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:36px
}

.elementor .elementor-element.sbr-card {
  background:white;
  border:1px solid var(--sbr-border);
  border-radius:4px;
  overflow:hidden
}

.sbr-card .sbr-image img {
  width:100%;
  aspect-ratio:2.4;
  object-fit:cover;
  display:block
}

.elementor .elementor-element.sbr-card-copy {
  padding:16px;
  gap:8px
}

.elementor .elementor-element.sbr-number {
  color:var(--sbr-red);
  font:20px/1 Georgia,serif
}

.elementor .elementor-element.sbr-card h3 {
  font-size:23px
}

.elementor .elementor-element.sbr-card .sbr-body:not(.sbr-number) {
  font-size:14px
}

.elementor .elementor-element.sbr-card-link .elementor-button {
  font-size:12px;
  border:0;
  padding:10px 0;
  min-height:44px;
  text-align:left
}

.elementor .elementor-element.sbr-features {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr))
}

.elementor .elementor-element.sbr-feature {
  min-height:330px;
  padding:36px 8% 36px 16.4%
}

.elementor .elementor-element.sbr-feature:nth-child(2) {
  padding-left:10%
}

.sbr-feature .sbr-copy {
  width:70%;
  gap:12px
}

.elementor .elementor-element.sbr-feature h2 {
  font-size:34px
}

.elementor .elementor-element.sbr-feature h3 {
  font-size:21px
}

.elementor .elementor-element.sbr-feature .sbr-body {
  font-size:14px
}

.sbr-feature:after {
  background:linear-gradient(90deg,#faf9f6 0%,#faf9f6ec 33%,#faf9f685 60%,transparent 87%)
}

.elementor .elementor-element.sbr-rnd {
  display:grid;
  grid-template-columns:38% 62%;
  background:white
}

.sbr-rnd>.sbr-image img {
  height:100%;
  width:100%;
  object-fit:cover;
  display:block
}

.sbr-rnd>.sbr-image,.sbr-rnd>.sbr-image>.elementor-widget-container {
  height:100%
}

.elementor .elementor-element.sbr-rnd-content {
  padding:34px 8%;
  gap:18px
}

.elementor .elementor-element.sbr-rnd h2 {
  font-size:28px
}

.elementor .elementor-element.sbr-process {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px
}

.elementor .elementor-element.sbr-process-step {
  text-align:center;
  align-items:center;
  gap:8px
}

.elementor .elementor-element.sbr-process h3 {
  font:600 13px/1.3 Arial,sans-serif
}

.elementor .elementor-element.sbr-process .sbr-body {
  font-size:12px
}

.elementor .elementor-element.sbr-applications {
  padding-top:28px;
  padding-bottom:34px
}

.elementor .elementor-element.sbr-applications-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:32px
}

.elementor .elementor-element.sbr-application {
  flex-direction:row;
  align-items:center;
  gap:20px;
  border-right:1px solid var(--sbr-border-dark)
}

.sbr-application:last-child {
  border:0
}

.elementor .elementor-element.sbr-application h3 {
  font-size:18px
}

.elementor .elementor-element.sbr-application .sbr-body {
  font-size:12px
}

.elementor .elementor-element.sbr-impact {
  min-height:290px;
  padding-top:28px;
  padding-bottom:30px
}

.sbr-impact:after {
  background:#002f293d
}

.elementor .elementor-element.sbr-impact-content {
  gap:16px
}

.elementor .elementor-element.sbr-impact h2 {
  font-size:34px
}

.elementor .elementor-element.sbr-impact-flow {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:35px
}

.elementor .elementor-element.sbr-flow-step {
  align-items:center;
  text-align:center;
  gap:10px;
  position:relative
}

.sbr-flow-step:not(:last-child):after {
  content:'→';
  position:absolute;
  right:-25px;
  top:26px
}

.sbr-flow-step .sbr-line-icon {
  width:70px;
  height:70px;
  border:1px solid white;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center
}

.elementor .elementor-element.sbr-flow-step .sbr-body {
  font-size:14px;
  line-height:1.3
}

.elementor .elementor-element.sbr-news {
  display:grid;
  grid-template-columns:22% 78%;
  position:relative;
  padding-top:45px;
  padding-bottom:40px
}

.elementor .elementor-element.sbr-news>.sbr-section-heading {
  display:block
}

.sbr-news .sbr-section-heading>.sbr-button {
  position:absolute;
  right:8.2%;
  top:14px
}

.elementor .elementor-element.sbr-news-grid,.sbr-news-feed {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px
}

.elementor .elementor-element.sbr-news-card {
  background:white;
  overflow:hidden;
  border-radius:4px;
  gap:8px;
  padding-bottom:16px
}

.sbr-news-card img {
  display:block;
  aspect-ratio:4.5;
  object-fit:cover;
  width:100%
}

.sbr-news-card .sbr-body,.sbr-news-card .sbr-heading {
  padding:0 12px
}

.elementor .elementor-element.sbr-news-card h3 {
  font:500 14px/1.45 Arial,sans-serif;
  letter-spacing:0
}

.elementor .elementor-element.sbr-news-card .sbr-body {
  font-size:12px;
  color:var(--sbr-text-secondary)
}

.sbr-news-feed h3 {
  font:500 16px/1.5 Arial,sans-serif
}

.sbr-news-feed time,.sbr-news-feed p {
  font-size:13px
}

.sbr-news-feed article>* {
  margin-bottom:10px
}

@media(min-width:1600px) {
  .elementor .elementor-element.sbr-scene,.elementor .elementor-element.sbr-section {
    padding-left:max(8.2%,calc((100vw - 1440px)/2));
    padding-right:max(8.2%,calc((100vw - 1440px)/2))
  }

}

@media(max-width:1199px) {
  .sbr-header-inner {
    padding:18px 40px;
    gap:20px
  }

  .sbr-menu-toggle {
    display:block;
    margin-left:auto;
    background:transparent;
    border:1px solid var(--sbr-border);
    padding:8px 14px;
    min-height:44px
  }

  .sbr-primary {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    padding:20px 40px;
    background:white
  }

  .sbr-primary.is-open {
    display:block
  }

  .sbr-primary ul {
    flex-wrap:wrap
  }

  .sbr-primary a {
    font-size:15px
  }

  .sbr-primary .sub-menu {
    position:static
  }

  .sbr-utilities {
    gap:6px
  }

  .elementor .elementor-element.sbr-scene,.elementor .elementor-element.sbr-section {
    padding-left:40px;
    padding-right:40px
  }

  .elementor .elementor-element.sbr-copy {
    width:55%
  }

  .elementor .elementor-element.sbr-group .sbr-copy {
    width:48%
  }

  .elementor .elementor-element.sbr-stats {
    left:55%;
    width:40%;
    gap:12px
  }

  .elementor .elementor-element.sbr-stat {
    padding-right:10px
  }

  .sbr-stat .elementor-heading-title {
    font-size:20px
  }

  .elementor .elementor-element.sbr-technology .sbr-copy {
    width:47%
  }

  .elementor .elementor-element.sbr-pillars {
    right:4%;
    width:30%
  }

  .elementor .elementor-element.sbr-solutions-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px
  }

  .elementor .elementor-element.sbr-features {
    grid-template-columns:1fr
  }

  .elementor .elementor-element.sbr-feature,.elementor .elementor-element.sbr-feature:nth-child(2) {
    padding:48px 40px;
    min-height:380px
  }

  .elementor .elementor-element.sbr-feature .sbr-copy {
    width:50%
  }

  .elementor .elementor-element.sbr-rnd {
    grid-template-columns:35% 65%
  }

  .elementor .elementor-element.sbr-rnd-content {
    padding:35px 30px
  }

  .elementor .elementor-element.sbr-process {
    gap:8px
  }

  .elementor .elementor-element.sbr-applications-grid {
    gap:20px
  }

  .elementor .elementor-element.sbr-application {
    gap:10px
  }

  .elementor .elementor-element.sbr-news {
    grid-template-columns:1fr
  }

  .elementor .elementor-element.sbr-news>.sbr-section-heading {
    display:flex
  }

  .sbr-news .sbr-section-heading>.sbr-button {
    position:static
  }

  .sbr-footer-top {
    flex-wrap:wrap
  }

  .sbr-footer nav ul {
    gap:16px
  }

}

@media(max-width:767px) {
  .sbr-header-inner {
    padding:16px 22px;
    min-height:80px;
    gap:12px;
    flex-wrap:wrap
  }

  .sbr-brand>span {
    font-size:16px
  }

  .sbr-brand strong {
    font-size:23px
  }

  .sbr-brand small {
    font-size:6px
  }

  .sbr-utilities {
    display:none
  }

  .sbr-primary {
    padding:20px 22px
  }

  .sbr-primary ul {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0
  }

  .sbr-primary a {
    padding:10px
  }

  .sbr-menu-toggle {
    font-size:12px;
    padding:8px
  }

  .elementor .elementor-element.sbr-scene,.elementor .elementor-element.sbr-section {
    padding:72px 22px
  }

  .elementor .elementor-element.sbr-copy,.elementor .elementor-element.sbr-hero .sbr-copy,.elementor .elementor-element.sbr-group .sbr-copy,.elementor .elementor-element.sbr-technology .sbr-copy,.elementor .elementor-element.sbr-feature .sbr-copy {
    width:100%;
    gap:18px
  }

  .elementor h1.elementor-heading-title {
    font-size:44px
  }

  .elementor h2.elementor-heading-title {
    font-size:36px
  }

  .elementor h3.elementor-heading-title {
    font-size:24px
  }

  .elementor .elementor-element.sbr-body {
    font-size:16px;
    line-height:1.65
  }

  .elementor .elementor-element.sbr-eyebrow .elementor-heading-title {
    font-size:10px;
    gap:12px
  }

  .elementor .elementor-element.sbr-hero {
    min-height:760px;
    justify-content:flex-start;
    padding-top:62px
  }

  .sbr-scene:after {
    background:linear-gradient(180deg,#faf9f6 0%,#faf9f6f5 38%,#faf9f694 65%,transparent 100%)
  }

  .sbr-hero .sbr-scene-image img {
    object-position:65% center
  }

  .elementor .elementor-element.sbr-hero-note {
    right:22px;
    bottom:24px;
    font-size:11px;
    text-shadow:0 1px 4px #000
  }

  .elementor .elementor-element.sbr-group {
    padding-bottom:280px
  }

  .sbr-group .sbr-scene-image {
    inset:0;
    width:100%
  }

  .sbr-group .sbr-scene-image img {
    object-position:73% bottom
  }

  .elementor .elementor-element.sbr-stats {
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    flex-direction:row;
    margin-top:32px;
    gap:14px
  }

  .elementor .elementor-element.sbr-stat {
    width:33.333%;
    padding-right:10px
  }

  .elementor .elementor-element.sbr-stat .sbr-body {
    font-size:11px
  }

  .sbr-stat .elementor-heading-title {
    font-size:22px
  }

  .elementor .elementor-element.sbr-about {
    padding-bottom:280px
  }

  .elementor .elementor-element.sbr-image-note {
    right:25px;
    top:auto;
    bottom:35px;
    font-size:22px
  }

  .elementor .elementor-element.sbr-technology {
    padding-bottom:60px
  }

  .sbr-technology .sbr-scene-image {
    left:0;
    width:100%
  }

  .sbr-technology:after {
    background:linear-gradient(180deg,#003b32 0%,#003b32df 38%,#003b32a3 65%,#003b32 100%)
  }

  .elementor .elementor-element.sbr-pillars {
    position:relative;
    right:auto;
    width:100%;
    margin-top:50px;
    gap:26px
  }

  .elementor .elementor-element.sbr-section-heading {
    flex-direction:column;
    align-items:flex-start
  }

  .elementor .elementor-element.sbr-section-heading h2 {
    font-size:34px
  }

  .elementor .elementor-element.sbr-solutions-grid {
    grid-template-columns:1fr;
    gap:24px
  }

  .sbr-card .sbr-image img {
    aspect-ratio:1.8
  }

  .elementor .elementor-element.sbr-card-copy {
    padding:22px
  }

  .elementor .elementor-element.sbr-card h3 {
    font-size:27px
  }

  .elementor .elementor-element.sbr-card .sbr-body:not(.sbr-number) {
    font-size:16px
  }

  .elementor .elementor-element.sbr-feature,.elementor .elementor-element.sbr-feature:nth-child(2) {
    padding:72px 22px 250px;
    min-height:640px
  }

  .elementor .elementor-element.sbr-feature h2 {
    font-size:34px
  }

  .elementor .elementor-element.sbr-feature h3 {
    font-size:22px
  }

  .elementor .elementor-element.sbr-feature .sbr-body {
    font-size:16px
  }

  .elementor .elementor-element.sbr-rnd {
    grid-template-columns:1fr
  }

  .sbr-rnd>.sbr-image img {
    aspect-ratio:1.6;
    height:auto
  }

  .elementor .elementor-element.sbr-rnd-content {
    padding:72px 22px;
    gap:26px
  }

  .elementor .elementor-element.sbr-rnd h2 {
    font-size:34px
  }

  .elementor .elementor-element.sbr-process {
    grid-template-columns:1fr;
    gap:24px
  }

  .elementor .elementor-element.sbr-process-step {
    flex-direction:row;
    text-align:left;
    gap:20px
  }

  .sbr-process-step .sbr-line-icon {
    min-width:40px
  }

  .elementor .elementor-element.sbr-process h3,.elementor .elementor-element.sbr-process .sbr-body {
    font-size:16px
  }

  .elementor .elementor-element.sbr-applications-grid {
    grid-template-columns:1fr;
    gap:28px
  }

  .elementor .elementor-element.sbr-application {
    border:0;
    gap:22px
  }

  .elementor .elementor-element.sbr-application h3 {
    font-size:23px
  }

  .elementor .elementor-element.sbr-application .sbr-body {
    font-size:15px
  }

  .elementor .elementor-element.sbr-application .sbr-line-icon {
    width:44px
  }

  .elementor .elementor-element.sbr-impact h2 {
    font-size:34px
  }

  .sbr-impact:after {
    background:#002f297d
  }

  .elementor .elementor-element.sbr-impact-flow {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px 24px;
    margin-top:20px
  }

  .sbr-flow-step:after {
    display:none
  }

  .elementor .elementor-element.sbr-flow-step .sbr-body {
    font-size:15px
  }

  .elementor .elementor-element.sbr-news>.sbr-section-heading {
    display:flex
  }

  .elementor .elementor-element.sbr-news-grid,.sbr-news-feed {
    grid-template-columns:1fr
  }

  .sbr-news-card img {
    aspect-ratio:2
  }

  .elementor .elementor-element.sbr-news-card h3 {
    font-size:18px
  }

  .elementor .elementor-element.sbr-news-card .sbr-body {
    font-size:14px
  }

  .sbr-footer {
    padding:40px 22px
  }

  .sbr-footer-top,.sbr-footer-bottom {
    flex-direction:column;
    align-items:flex-start;
    gap:24px
  }

  .sbr-footer nav ul {
    gap:5px 22px
  }

  .sbr-footer nav a {
    font-size:14px;
    min-height:44px
  }

  .sbr-footer-bottom {
    margin-top:26px
  }

}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }

  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }

}

.elementor .elementor-element.sbr-copy .sbr-body {
  max-width:490px
}

.elementor .elementor-element.sbr-hero .sbr-body {
  max-width:460px
}

.elementor .elementor-element.sbr-scene-image {
  max-width:none;
  overflow:hidden
}

.sbr-primary .current-menu-item>a {
  border-bottom:0
}

.sbr-primary li:first-child>a {
  border-bottom:2px solid var(--sbr-green)
}

/* Ensure the theme owns layout even when Elementor's widget CSS loads later. */
.elementor.elementor .elementor-element.sbr-copy .sbr-body {
  max-width:490px
}

.elementor.elementor .elementor-element.sbr-hero .sbr-copy .sbr-body {
  max-width:460px
}

.elementor.elementor .sbr-scene-image img {
  height:100%;
  width:100%;
  object-fit:cover;
  display:block
}

.elementor.elementor .sbr-group .sbr-copy {
  width:38%
}

.elementor.elementor .sbr-group .sbr-scene-image {
  left:35%;
  width:65%
}

.elementor.elementor .sbr-technology .sbr-copy {
  width:38%
}

.elementor.elementor .sbr-technology .sbr-scene-image {
  left:22%;
  width:70%
}

.elementor.elementor .sbr-feature .sbr-copy {
  width:70%;
  gap:12px
}

.elementor.elementor .sbr-stat {
  width:auto;
  flex:1
}

@media(max-width:1199px) {
  .elementor.elementor .sbr-group .sbr-copy {
    width:44%
  }

  .elementor.elementor .sbr-technology .sbr-copy {
    width:47%
  }

  .elementor.elementor .sbr-feature .sbr-copy {
    width:50%
  }

}

@media(max-width:767px) {
  .elementor.elementor .sbr-group .sbr-copy,.elementor.elementor .sbr-technology .sbr-copy,.elementor.elementor .sbr-feature .sbr-copy {
    width:100%
  }

  .elementor.elementor .sbr-group .sbr-scene-image,.elementor.elementor .sbr-technology .sbr-scene-image {
    left:0;
    width:100%
  }

  .elementor.elementor .sbr-copy .sbr-body {
    max-width:100%
  }

}

/* Reusable decorative monoline icons. */
.sbr-glyph {
  display:block;
  width:40px;
  height:40px;
  background:currentColor;
  mask:var(--sbr-icon) center/contain no-repeat;
  -webkit-mask:var(--sbr-icon) center/contain no-repeat
}

.sbr-glyph-leaf {
  --sbr-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021v-9M12%2016C3%2017%202%2010%203%204c6%200%2010%203%209%2010M12%2012C12%205%2017%202%2022%202c0%206-3%2011-10%2010M5%207l7%209m7-10-7%206%22/%3E%3C/svg%3E")
}

.sbr-glyph-globe {
  --sbr-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22/%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%2212%22%20rx%3D%224%22%20ry%3D%229%22/%3E%3Cpath%20d%3D%22M3%2012h18M5%206h14M5%2018h14%22/%3E%3C/svg%3E")
}

.sbr-glyph-cup {
  --sbr-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%208h13v6a6%206%200%200%201-12%200L4%208Zm13%201h2a3%203%200%200%201%200%206h-2M3%2022h17M7%202v3m4-4v3m4-2v3%22/%3E%3C/svg%3E")
}

.sbr-glyph-heart {
  --sbr-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021%203%2012C-3%204%207-2%2012%205c5-7%2015-1%209%207Z%22/%3E%3C/svg%3E")
}

.sbr-glyph-microbe {
  --sbr-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%227%22%20r%3D%223%22/%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2212%22%20r%3D%223%22/%3E%3Ccircle%20cx%3D%228%22%20cy%3D%2219%22%20r%3D%223%22/%3E%3Cpath%20d%3D%22m10%209%205%202m0%203-5%203M8%2010v6%22/%3E%3C/svg%3E")
}

.sbr-glyph-search {
  --sbr-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22/%3E%3Cpath%20d%3D%22m15%2015%207%207M6%2010a4%204%200%200%201%204-4%22/%3E%3C/svg%3E")
}

.sbr-glyph-chart {
  --sbr-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2021h19M5%2018v-4m5%204v-7m5%207V8m5%2010V3M4%2010l5-4%205%201%207-6%22/%3E%3C/svg%3E")
}

.sbr-glyph-flask {
  --sbr-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%202h8M9%202v7L3%2020q-1%202%202%202h14q3%200%202-2L15%209V2M6%2016h12%22/%3E%3C/svg%3E")
}

.sbr-glyph-gear {
  --sbr-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9%202-1%203-3%201-3-1-1%204%203%202v3l-2%202%202%204%203-1%203%202%201%203%204-1%201-3%203-1%203%201%201-4-3-2v-3l2-2-2-4-3%201-3-2-1-3Z%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22/%3E%3C/svg%3E")
}

.sbr-glyph-recycle {
  --sbr-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m8%205%204-4%205%208m-4-1%204%201%201-4M19%2010l4%207-9%201m3-3-3%203%203%203M10%2019H2l5-9m-4%202%204-2%202%204%22/%3E%3C/svg%3E")
}

.sbr-glyph-soil {
  --sbr-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2019q5-4%2010%200t10%200M2%2023q5-4%2010%200t10%200M12%2016V8m0%203C6%2011%204%206%205%203c5%200%208%203%207%207m0-3c0-4%204-6%208-6%200%205-3%208-8%208%22/%3E%3C/svg%3E")
}

.sbr-glyph-food {
  --sbr-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%202v7q0%203%203%203t3-3V2M7%202v21m12%200V2q-6%202-6%2011h6%22/%3E%3C/svg%3E")
}

.sbr-glyph-people {
  --sbr-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%226%22%20r%3D%223%22/%3E%3Ccircle%20cx%3D%224%22%20cy%3D%228%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%228%22%20r%3D%222%22/%3E%3Cpath%20d%3D%22M6%2022v-5a6%206%200%200%201%2012%200v5ZM1%2020v-5a3%203%200%200%201%204-3m18%208v-5a3%203%200%200%200-4-3%22/%3E%3C/svg%3E")
}

/* Component typography and geometry. */
.elementor .sbr-pillar .sbr-heading .elementor-heading-title {
  font:400 14px/1.4 Arial,Helvetica,sans-serif;
  letter-spacing:0
}

.elementor .sbr-process .sbr-heading .elementor-heading-title {
  font:600 13px/1.4 Arial,Helvetica,sans-serif;
  letter-spacing:0
}

.elementor .sbr-news-card .sbr-heading .elementor-heading-title {
  font:500 14px/1.45 Arial,Helvetica,sans-serif;
  letter-spacing:0
}

.elementor .sbr-flow-step .elementor-element.sbr-line-icon {
  width:70px;
  min-width:70px;
  height:70px;
  border:1px solid white;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center
}

.elementor .elementor-element.sbr-news {
  grid-template-columns:minmax(0,22fr) minmax(0,78fr);
  padding-top:58px
}

.elementor .elementor-element.sbr-news>.sbr-section-heading {
  position:static
}

.elementor .elementor-element.sbr-news .sbr-section-heading>.sbr-button {
  position:absolute;
  right:8.2%;
  top:8px
}

.elementor .elementor-element.sbr-application:last-child {
  border:0
}

.elementor .elementor-element.sbr-dark-section:after {
  background:linear-gradient(90deg,#003b32e8 0%,#003b32a6 30%,#003b3220 57%,#003b32da 100%)
}

.elementor .elementor-element.sbr-impact:after {
  background:#002f295c
}

@media(max-width:1199px) {
  .elementor .elementor-element.sbr-news {
    grid-template-columns:1fr
  }

  .elementor .elementor-element.sbr-news .sbr-section-heading>.sbr-button {
    position:static
  }

}

@media(max-width:767px) {
  .elementor .sbr-process .sbr-heading .elementor-heading-title {
    font-size:16px
  }

  .elementor .sbr-news-card .sbr-heading .elementor-heading-title {
    font-size:18px
  }

  .elementor .elementor-element.sbr-dark-section:after {
    background:linear-gradient(180deg,#003b32 0%,#003b32e0 38%,#003b32b3 65%,#003b32 100%)
  }

  .elementor .elementor-element.sbr-impact:after {
    background:#002f2980
  }

}

.elementor .elementor-element.sbr-pillar,.elementor .elementor-element.sbr-application {
  flex-wrap:nowrap
}

.elementor .elementor-element.sbr-pillar-copy,.elementor .elementor-element.sbr-app-copy {
  width:auto;
  flex:1;
  gap:5px
}

.elementor .sbr-pillar .elementor-element.sbr-line-icon,.elementor .sbr-application .elementor-element.sbr-line-icon {
  flex:0 0 40px
}

@media(max-width:767px) {
  .elementor .elementor-element.sbr-process-step {
    flex-wrap:nowrap
  }

  .elementor .sbr-process-step>.elementor-widget {
    width:auto;
    flex:1
  }

  .elementor .sbr-process-step>.sbr-line-icon {
    flex:0 0 40px
  }

  .sbr-utilities {
    display:flex;
    width:100%;
    justify-content:space-between
  }

  .sbr-header-inner {
    row-gap:6px
  }

  .sbr-search form {
    left:22px;
    right:22px
  }

  .sbr-footer .sbr-brand>span {
    font-size:16px
  }

}

.elementor .elementor-element.sbr-rnd,.elementor .elementor-element.sbr-features,.elementor .elementor-element.sbr-card {
  gap:0
}

.elementor .elementor-element.sbr-stats {
  flex-wrap:nowrap
}

@media (prefers-reduced-motion: reduce) {
  html:root { scroll-behavior: auto !important; }
}
