:root {
  --ink: #191b18;
  --coal: #111611;
  --charcoal: #263028;
  --forest: #0b4f36;
  --forest-2: #174b36;
  --forest-dark: #06281f;
  --green: #1f6b4f;
  --sage: #dce7df;
  --mist: #edf5ff;
  --mist-2: #f4f8fc;
  --paper: #fbfbf8;
  --cream: #f6f1e8;
  --white: #ffffff;
  --muted: #626861;
  --line: rgba(25, 27, 24, .14);
  --soft-line: rgba(25, 27, 24, .09);
  --radius: 20px;
  --shadow: 0 22px 60px rgba(17, 22, 17, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }

.container { width: min(1120px, calc(100% - 46px)); margin: 0 auto; }
.section { padding: 84px 0; }
.section-tight { padding: 62px 0; }
.section-paper { background: var(--paper); }
.section-cream { background: var(--cream); }
.section-mist { background: var(--mist-2); }
.section-dark { background: var(--coal); color: var(--white); }
.section-forest { background: var(--forest-dark); color: var(--white); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background: linear-gradient(180deg, #edf5ff 0%, #f7fbff 100%);
  border-bottom: 1px solid rgba(25, 27, 24, .08);
  box-shadow: 0 6px 18px rgba(17, 22, 17, .05);
}
.nav {
  height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.nav-logo { width: 198px; height: auto; }
.nav-right { display: flex; align-items: center; gap: 32px; }
.nav-links {
  display: flex;
  align-items: center;
  gap: 34px;
  color: var(--ink);
  font-size: 15px;
  font-weight: 720;
}
.nav-links a {
  position: relative;
  padding: 32px 0 27px;
  opacity: .92;
}
.nav-links a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 20px;
  height: 2px;
  border-radius: 2px;
  background: var(--forest);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s ease;
}
.nav-links a:hover, .nav-links a.active { color: var(--forest-dark); opacity: 1; }
.nav-links a:hover::after, .nav-links a.active::after { transform: scaleX(1); }
.nav-contact,
.btn.nav-contact {
  min-height: 42px;
  border-radius: 4px;
  padding: 11px 22px;
  background: var(--forest);
  color: white;
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 10px 18px rgba(6,40,31,.16);
}
.nav-contact::after { display: none; }
.mobile-toggle {
  display: none;
  appearance: none;
  border: 1px solid rgba(11,79,54,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.5);
  color: var(--ink);
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 750;
}
.mobile-menu {
  display: none;
  padding: 0 0 18px;
  color: var(--ink);
}
.mobile-menu a {
  display: block;
  padding: 13px 0;
  border-top: 1px solid rgba(17, 22, 17, .08);
  font-weight: 720;
}
.mobile-menu.open { display: block; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  margin: 0 0 16px;
  color: var(--forest);
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 13px;
  font-weight: 850;
}
.section-dark .eyebrow,
.section-forest .eyebrow,
.page-hero .eyebrow,
.panel-dark .eyebrow { color: #d6eadf; }

h1, h2, h3, h4 { margin: 0; line-height: 1.06; letter-spacing: -.048em; }
h1 { font-size: clamp(48px, 6.2vw, 82px); font-weight: 780; }
h2 { font-size: clamp(34px, 4.3vw, 55px); font-weight: 760; }
h3 { font-size: 22px; font-weight: 760; }
h4 { font-size: 18px; font-weight: 780; letter-spacing: -.02em; }
p { margin: 0; }
.lead { color: var(--muted); font-size: 18px; line-height: 1.72; }
.small { color: var(--muted); font-size: 14px; line-height: 1.65; }
.section-dark .lead,
.section-forest .lead,
.page-hero .lead,
.panel-dark .lead { color: rgba(255,255,255,.72); }
.center { text-align: center; max-width: 850px; margin: 0 auto; }

.btns { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 34px; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  border-radius: 4px;
  padding: 13px 24px;
  border: 1px solid transparent;
  font-weight: 800;
  transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.btn:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(17,22,17,.12); }
.btn-primary { background: var(--forest); color: white; }
.btn-dark { background: var(--ink); color: white; }
.btn-light { background: white; color: var(--ink); }
.btn-outline { border-color: var(--line); color: var(--ink); background: rgba(255,255,255,.54); }
.btn-ghost { border-color: rgba(255,255,255,.26); color: white; background: rgba(255,255,255,.08); }
.arrow { font-size: 1.25em; line-height: 1; }

.landing-hero {
  position: relative;
  min-height: 440px;
  display: grid;
  align-items: center;
  overflow: hidden;
  background: var(--cream);
  border-bottom: 1px solid rgba(25,27,24,.08);
}
.landing-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 52%;
  filter: saturate(.86) contrast(1.02);
}
.landing-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(246,241,232,.96) 0%, rgba(246,241,232,.89) 34%, rgba(246,241,232,.4) 60%, rgba(246,241,232,.08) 100%),
    linear-gradient(0deg, rgba(6,40,31,.24) 0%, transparent 40%);
  z-index: 1;
}
.landing-hero .container { position: relative; z-index: 2; }
.landing-hero-content { max-width: 690px; padding: 74px 0 84px; }
.landing-hero h1 { max-width: 820px; color: #20211f; }
.landing-hero .lead { max-width: 620px; margin-top: 24px; color: #323631; font-weight: 450; }

.project-feature {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: 70px;
  align-items: center;
  padding-bottom: 42px;
}
.project-copy h2 { max-width: 520px; }
.project-copy .lead { margin-top: 22px; font-size: 16px; line-height: 1.65; max-width: 490px; }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  color: var(--forest);
  font-weight: 850;
  border-bottom: 2px solid rgba(11,79,54,.34);
  padding-bottom: 5px;
}
.project-image {
  overflow: hidden;
  border-radius: 5px;
  box-shadow: 0 8px 30px rgba(17,22,17,.10);
  border: 1px solid rgba(17,22,17,.08);
  background: #e9eee8;
}
.project-image img { width: 100%; height: 330px; object-fit: cover; }
.capability-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.capability-card {
  min-height: 214px;
  border: 1px solid rgba(25,27,24,.16);
  border-radius: 6px;
  background: #fff;
  padding: 28px 22px 24px;
  box-shadow: 0 2px 12px rgba(17,22,17,.04);
}
.capability-icon {
  width: 48px;
  height: 48px;
  color: var(--forest);
  margin-bottom: 22px;
}
.capability-icon svg { width: 100%; height: 100%; stroke: currentColor; }
.capability-card h3 { font-size: 18px; margin-bottom: 9px; letter-spacing: -.035em; }
.capability-card p { color: var(--muted); font-size: 14px; line-height: 1.55; }

.page-hero {
  position: relative;
  overflow: hidden;
  padding: 106px 0 92px;
  color: white;
  background: linear-gradient(135deg, rgba(6,40,31,.98), rgba(17,22,17,.94));
}
.page-hero.has-image { min-height: 500px; display: grid; align-items: end; }
.page-hero .hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .38;
  filter: saturate(.86) contrast(1.04);
}
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6,40,31,.98), rgba(6,40,31,.58));
  z-index: 1;
}
.page-hero-inner { position: relative; z-index: 2; max-width: 900px; }
.page-hero .lead { max-width: 750px; margin-top: 22px; }

.grid-2 { display: grid; grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); gap: 54px; align-items: center; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.auto-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }

.card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 1px 0 rgba(16,18,15,.03);
}
.card h3, .card h4 { margin-bottom: 12px; }
.card p { color: var(--muted); }
.card-dark { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.14); color: white; }
.card-dark p { color: rgba(255,255,255,.66); }
.card-number {
  color: var(--forest);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 850;
  margin-bottom: 26px;
}
.section-dark .card-number,
.section-forest .card-number,
.card-dark .card-number { color: var(--sage); }

.product-hero-panel {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 34px;
  align-items: stretch;
  margin-top: 46px;
}
.product-panel-card {
  padding: 34px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--line);
  min-height: 320px;
}
.product-panel-card h3 { font-size: 28px; margin-bottom: 14px; }
.product-panel-card p { color: var(--muted); }
.product-panel-card.featured {
  background: linear-gradient(135deg, var(--forest-dark), var(--forest));
  color: white;
}
.product-panel-card.featured p { color: rgba(255,255,255,.72); }
.product-image-strip {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.product-image-strip img { height: 150px; width: 100%; object-fit: cover; border-radius: 12px; }

.image-card {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  min-height: 410px;
  background: var(--coal);
  box-shadow: var(--shadow);
}
.image-card img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; filter: saturate(.88) contrast(1.02); }
.image-card-overlay {
  position: absolute;
  inset: auto 18px 18px 18px;
  border-radius: 16px;
  padding: 20px;
  color: white;
  background: rgba(6,40,31,.78);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(14px);
}
.image-card-overlay p { color: rgba(255,255,255,.72); margin-top: 8px; }

.big-statement {
  font-size: clamp(28px, 4vw, 52px);
  line-height: 1.1;
  letter-spacing: -.045em;
  font-weight: 760;
  max-width: 1040px;
}
.process { display: grid; gap: 14px; }
.process-step {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 18px;
  align-items: start;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.65);
}
.step-num {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--forest);
  color: white;
  font-weight: 850;
}
.process-step p { color: var(--muted); margin-top: 6px; }
.section-forest .process-step,
.section-dark .process-step { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.07); }
.section-forest .process-step p,
.section-dark .process-step p { color: rgba(255,255,255,.66); }
.section-forest .step-num,
.section-dark .step-num { background: var(--sage); color: var(--ink); }

.check-list { display: grid; gap: 12px; margin-top: 30px; }
.check {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 15px 17px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.62);
  color: var(--muted);
}
.check::before {
  content: "";
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--forest);
  margin-top: 8px;
}
.section-dark .check,
.section-forest .check,
.panel-dark .check { border-color: rgba(255,255,255,.13); background: rgba(255,255,255,.06); color: rgba(255,255,255,.68); }
.section-dark .check::before,
.section-forest .check::before,
.panel-dark .check::before { background: var(--sage); }

.panel {
  border-radius: 28px;
  padding: clamp(34px, 6vw, 64px);
  border: 1px solid var(--line);
  background: rgba(255,255,255,.62);
  overflow: hidden;
  position: relative;
}
.panel-dark {
  background: radial-gradient(circle at 82% 16%, rgba(220,231,223,.2), transparent 32%), linear-gradient(135deg, var(--forest-dark), var(--coal));
  color: white;
  border-color: rgba(255,255,255,.12);
  box-shadow: var(--shadow);
}
.panel-swoosh {
  position: absolute;
  right: -6%;
  bottom: -10%;
  width: min(720px, 68vw);
  opacity: .10;
  pointer-events: none;
}
.panel-content { position: relative; z-index: 1; }

.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 42px; }
.news-card {
  display: flex;
  min-height: 320px;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 18px;
  padding: 28px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.78);
  transition: transform .2s ease, box-shadow .2s ease;
}
.news-card:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(16,18,15,.09); }
.news-date { color: var(--forest); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 850; }
.news-card h3 { margin: 16px 0 16px; }
.news-card p { color: var(--muted); }
.news-card span { margin-top: 24px; color: var(--ink); font-weight: 850; }

.team-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; margin-top: 46px; }
.team-card { overflow: hidden; border-radius: 20px; border: 1px solid var(--line); background: rgba(255,255,255,.72); }
.team-photo { background: #e6e6e2; aspect-ratio: 1 / 1.05; overflow: hidden; }
.team-photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); }
.team-initial { height: 100%; min-height: 250px; display: grid; place-items: center; background: linear-gradient(135deg, var(--forest-dark), var(--coal)); color: var(--sage); font-size: 52px; font-weight: 760; letter-spacing: -.05em; }
.team-body { padding: 24px; }
.role { color: var(--forest); font-weight: 850; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; margin: 7px 0 14px; }
.team-body p { color: var(--muted); font-size: 14px; }

.contact-band { padding: 44px 0; background: var(--forest-dark); color: white; }
.contact-band-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.contact-band p { color: rgba(255,255,255,.68); margin-top: 8px; }
.site-footer {
  padding: 0;
  background: radial-gradient(circle at 12% 0%, rgba(31,107,79,.34), transparent 34%), #06231b;
  color: white;
}
.footer-main { padding: 52px 0 38px; }
.footer-grid {
  display: grid;
  grid-template-columns: 1.35fr repeat(4, minmax(120px, .55fr));
  gap: 44px;
  align-items: start;
}
.footer-logo { width: 205px; }
.footer-copy { color: rgba(255,255,255,.62); max-width: 360px; margin-top: 16px; }
.footer-column h4 {
  font-size: 15px;
  letter-spacing: 0;
  margin-bottom: 14px;
  color: white;
}
.footer-column a, .footer-column span {
  display: block;
  color: rgba(255,255,255,.72);
  margin: 9px 0;
  font-size: 14px;
}
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.13);
  padding: 22px 0 28px;
  color: rgba(255,255,255,.56);
  font-size: 12px;
}
.footer-bottom-inner { display: grid; grid-template-columns: 1fr 5fr; gap: 32px; align-items: start; }
.footer-disclaimer { max-width: 900px; }

.home .landing-hero {
  min-height: 408px;
  border-bottom: 1px solid rgba(25,27,24,.08);
}
.home .landing-hero-bg {
  object-position: center center;
  filter: saturate(.96) contrast(1.02);
}
.home .landing-hero::before {
  background:
    linear-gradient(90deg, rgba(246,241,232,.14) 0%, rgba(246,241,232,.10) 42%, rgba(246,241,232,.02) 70%, rgba(246,241,232,0) 100%),
    linear-gradient(0deg, rgba(6,40,31,.14) 0%, transparent 38%);
}
.home .landing-hero .container {
  width: min(1160px, calc(100% - 48px));
}
.home .landing-hero-content {
  max-width: 635px;
  padding: 53px 0 67px;
  margin-left: 44px;
}
.home .landing-hero h1 {
  max-width: 650px;
  font-size: clamp(46px, 5.15vw, 64px);
  line-height: 1.12;
  letter-spacing: -.058em;
  font-weight: 770;
}
.home .landing-hero .lead {
  max-width: 530px;
  margin-top: 20px;
  color: #343a35;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 450;
}
.home .landing-hero .btns { margin-top: 28px; }
.home .landing-hero .btn {
  min-height: 43px;
  padding: 11px 22px;
  font-size: 13px;
  border-radius: 4px;
}
.home .landing-project-section {
  padding: 39px 0 24px;
  background: #fffefa;
}
.home .landing-project-section .container {
  width: min(1040px, calc(100% - 136px));
}
.home .project-feature {
  grid-template-columns: minmax(0, .74fr) minmax(0, 1.26fr);
  gap: 62px;
  padding-bottom: 35px;
}
.home .project-copy .eyebrow {
  margin-bottom: 14px;
  font-size: 12px;
  letter-spacing: .055em;
}
.home .project-copy h2 {
  max-width: 430px;
  font-size: clamp(30px, 3.2vw, 40px);
  line-height: 1.12;
  letter-spacing: -.052em;
}
.home .project-copy .lead {
  max-width: 440px;
  margin-top: 18px;
  color: #343a35;
  font-size: 14.5px;
  line-height: 1.58;
}
.home .text-link {
  margin-top: 22px;
  padding-bottom: 4px;
  gap: 11px;
  font-size: 14px;
}
.home .project-image {
  border-radius: 6px;
  box-shadow: 0 6px 22px rgba(17,22,17,.08);
}
.home .project-image img {
  height: 282px;
  object-fit: cover;
}
.home .capability-grid { gap: 14px; }
.home .capability-card {
  min-height: 201px;
  border-radius: 6px;
  padding: 24px 20px 21px;
  box-shadow: 0 1px 8px rgba(17,22,17,.035);
}
.home .capability-icon {
  width: 47px;
  height: 47px;
  margin-bottom: 18px;
}
.home .capability-card h3 {
  font-size: 17px;
  margin-bottom: 8px;
}
.home .capability-card p {
  font-size: 13.5px;
  line-height: 1.55;
}
.home .site-footer { margin-top: 0; }
.home .footer-main { padding: 34px 0 30px; }
.home .footer-grid {
  width: min(1040px, calc(100% - 136px));
  grid-template-columns: 1.3fr repeat(4, minmax(110px, .6fr));
  gap: 40px;
}
.home .footer-logo { width: 170px; }
.home .footer-copy { display: none; }
.home .footer-column h4 { font-size: 13px; margin-bottom: 12px; }
.home .footer-column a,
.home .footer-column span { font-size: 13px; margin: 8px 0; }
.home .footer-bottom { padding: 17px 0 22px; }
.home .footer-bottom-inner {
  width: min(1040px, calc(100% - 136px));
  grid-template-columns: 1fr;
  gap: 0;
}
.home .footer-bottom-inner > div:first-child { display: none; }
.home .footer-disclaimer { max-width: 980px; font-size: 12px; line-height: 1.45; }

@media (max-width: 960px) {
  .home .landing-hero-content { margin-left: 0; }
  .home .landing-project-section .container,
  .home .footer-grid,
  .home .footer-bottom-inner { width: min(100% - 46px, 1040px); }
  .home .project-feature { gap: 34px; }
}

@media (max-width: 640px) {
  .home .landing-hero .container { width: min(100% - 28px, 1120px); }
  .home .landing-hero { min-height: 520px; }
  .home .landing-hero-content { padding: 48px 0 60px; }
  .home .landing-hero h1 { font-size: clamp(39px, 12.5vw, 54px); }
  .home .landing-project-section { padding: 50px 0 22px; }
  .home .project-image img { height: 240px; }
}

@media (max-width: 960px) {
  .nav-links, .nav-contact { display: none; }
  .mobile-toggle { display: inline-flex; }
  .nav { height: 78px; }
  .nav-logo { width: 178px; }
  .landing-hero { min-height: 560px; }
  .landing-hero::before { background: linear-gradient(90deg, rgba(246,241,232,.97), rgba(246,241,232,.72)); }
  .project-feature, .grid-2, .grid-3, .grid-4, .product-hero-panel, .news-grid, .team-grid, .footer-grid, .footer-bottom-inner { grid-template-columns: 1fr; }
  .capability-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .contact-band-inner { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 28px, 1120px); }
  .section { padding: 70px 0; }
  h1 { font-size: clamp(42px, 13.5vw, 60px); }
  h2 { font-size: clamp(31px, 10.5vw, 46px); }
  .lead { font-size: 16px; }
  .landing-hero-content { padding: 56px 0 66px; }
  .btns { align-items: stretch; }
  .btn { width: 100%; }
  .project-feature { gap: 30px; }
  .project-image img { height: 260px; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-card, .card, .panel { padding: 24px; }
  .image-card { min-height: 330px; }
}

.home .site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: transparent;
  border-bottom: none;
  box-shadow: none;
}

.home .landing-hero {
  min-height: 660px;
}

.home .landing-hero-bg {
  object-position: center 60%;
}

.home .landing-hero-content {
  padding-top: 154px;
  padding-bottom: 94px;
}

.home .landing-hero h1 {
  max-width: 620px;
  font-size: clamp(38px, 4.35vw, 54px);
  line-height: 1.1;
}

.home .mobile-menu {
  margin-bottom: 16px;
  padding: 10px 18px 18px;
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 32px rgba(17,22,17,.12);
}

@media (max-width: 960px) {
  .home .landing-hero {
    min-height: 640px;
  }
  .home .landing-hero-content {
    padding-top: 144px;
    padding-bottom: 84px;
  }
  .home .landing-hero h1 {
    font-size: clamp(36px, 6.3vw, 48px);
  }
}

@media (max-width: 640px) {
  .home .landing-hero {
    min-height: 620px;
  }
  .home .landing-hero-bg {
    object-position: 58% 60%;
  }
  .home .landing-hero-content {
    padding-top: 128px;
    padding-bottom: 72px;
  }
  .home .landing-hero h1 {
    font-size: clamp(32px, 9vw, 42px);
  }
}

.home .landing-hero {
  min-height: 820px;
}

.home .landing-hero-bg {
  object-position: center 64%;
}

.home .landing-hero-content {
  padding-top: 190px;
  padding-bottom: 120px;
}

@media (max-width: 960px) {
  .home .landing-hero {
    min-height: 760px;
  }
}

@media (max-width: 640px) {
  .home .landing-hero {
    min-height: 700px;
  }
}

.home .landing-hero {
  min-height: 902px;
}

.home .landing-hero-bg {
  object-position: center 64%;
}

.home .landing-hero-content {
  padding-top: 205px;
  padding-bottom: 135px;
}

@media (max-width: 960px) {
  .home .landing-hero {
    min-height: 836px;
  }
}

@media (max-width: 640px) {
  .home .landing-hero {
    min-height: 770px;
  }
}

:focus-visible {
  outline: 3px solid rgba(31, 107, 79, .55);
  outline-offset: 4px;
}

.mobile-menu.open {
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }}

.site-header .nav-logo,
img.nav-logo {
  display: block;
  width: 198px !important;
  max-width: min(198px, 52vw) !important;
  height: auto !important;
}
.site-footer .footer-logo,
img.footer-logo {
  display: block;
  width: 205px !important;
  max-width: min(205px, 60vw) !important;
  height: auto !important;
}
.home .footer-logo { width: 170px !important; max-width: min(170px, 60vw) !important; }
@media (max-width: 960px) {
  .site-header .nav-logo, img.nav-logo { width: 178px !important; max-width: min(178px, 52vw) !important; }
}

.home .landing-hero {
  min-height: clamp(560px, 76svh, 760px) !important;
  display: grid;
  align-items: center;
}
.home .landing-hero-bg {
  object-position: center 62% !important;
}
.home .landing-hero-content {
  padding-top: clamp(96px, 13svh, 132px) !important;
  padding-bottom: clamp(56px, 9svh, 92px) !important;
}

@media (max-width: 960px) {
  .home .landing-hero {
    min-height: clamp(540px, 78svh, 680px) !important;
  }
  .home .landing-hero-content {
    padding-top: clamp(92px, 12svh, 120px) !important;
    padding-bottom: 64px !important;
  }
}

@media (max-width: 640px) {
  .home .site-header {
    position: relative;
    background: #bfe6f4;
  }
  .home .landing-hero {
    min-height: auto !important;
    display: block;
  }
  .home .landing-hero-bg {
    object-position: 62% bottom !important;
  }
  .home .landing-hero::before {
    background:
      linear-gradient(180deg, rgba(191,230,244,.98) 0%, rgba(191,230,244,.88) 42%, rgba(191,230,244,.38) 72%, rgba(191,230,244,.10) 100%),
      linear-gradient(0deg, rgba(6,40,31,.18) 0%, transparent 40%);
  }
  .home .landing-hero-content {
    max-width: none;
    padding-top: 48px !important;
    padding-bottom: 290px !important;
    margin-left: 0 !important;
  }
  .home .landing-hero h1 {
    max-width: 11ch;
    font-size: clamp(36px, 12vw, 48px) !important;
    line-height: 1.05;
  }
  .home .landing-hero .lead {
    max-width: 34ch;
    font-size: 16px;
    line-height: 1.5;
  }
  .home .landing-hero .btn {
    width: auto;
    min-width: 178px;
  }
  .home .mobile-menu {
    margin-bottom: 12px;
  }
}

@media (max-width: 420px) {
  .home .landing-hero-content {
    padding-bottom: 250px !important;
  }
  .home .landing-hero h1 {
    max-width: 10ch;
    font-size: clamp(34px, 11.5vw, 42px) !important;
  }
}

.home .landing-hero-content {
  padding-bottom: clamp(82px, 12svh, 128px) !important;
}
.home .landing-hero .btns,
.home .landing-hero .btn {
  position: relative;
  z-index: 5;
}
.home .landing-hero .btns {
  margin-top: 30px !important;
  margin-bottom: clamp(10px, 2svh, 26px);
}

@media (max-width: 640px) {
  .home .landing-hero {
    min-height: calc(100svh - 78px) !important;
    display: grid !important;
    align-items: start !important;
    overflow: hidden;
  }
  .home .landing-hero-bg {
    object-position: 58% bottom !important;
  }
  .home .landing-hero-content {
    padding-top: clamp(24px, 7svh, 54px) !important;
    padding-bottom: clamp(260px, 42svh, 360px) !important;
  }
  .home .landing-hero h1 {
    max-width: 12ch !important;
    font-size: clamp(34px, 11vw, 46px) !important;
    line-height: 1.05 !important;
  }
  .home .landing-hero .lead {
    max-width: 32ch !important;
    font-size: 15.5px !important;
    line-height: 1.45 !important;
    margin-top: 18px !important;
  }
  .home .landing-hero .btns {
    align-items: flex-start !important;
    margin-top: 22px !important;
    margin-bottom: 0 !important;
  }
  .home .landing-hero .btn {
    width: auto !important;
    min-width: 174px;
  }

  .home .footer-main {
    padding: 34px 0 28px !important;
  }
  .home .footer-grid {
    width: min(100% - 32px, 1040px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 26px !important;
  }
  .home .footer-grid > div:first-child {
    grid-column: 1 / -1;
  }
  .home .footer-copy {
    display: block !important;
    max-width: 34ch;
    font-size: 13px;
    line-height: 1.45;
  }
  .home .footer-column a,
  .home .footer-column span {
    overflow-wrap: anywhere;
  }
  .home .footer-bottom-inner {
    width: min(100% - 32px, 1040px) !important;
  }
  .home .footer-disclaimer {
    max-width: none !important;
    font-size: 11.5px !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 420px) {
  .home .landing-hero-content {
    padding-bottom: clamp(230px, 38svh, 310px) !important;
  }
  .home .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
}

.home .landing-hero-content {
  padding-bottom: clamp(104px, 15svh, 156px) !important;
  transform: translateY(clamp(-26px, -3svh, -12px));
}
.home .landing-hero .btns {
  margin-top: 32px !important;
}

.footer-main { padding: 40px 0 28px; }
.footer-grid { gap: 30px; }
.footer-logo { width: 178px !important; max-width: min(178px, 58vw) !important; height: auto !important; }
.footer-copy { font-size: 13px; line-height: 1.45; max-width: 330px; margin-top: 12px; }
.footer-column h4 { font-size: 13px; margin-bottom: 10px; }
.footer-column a,
.footer-column span { font-size: 13px; margin: 7px 0; line-height: 1.35; }
.footer-bottom { padding: 16px 0 20px; font-size: 11.5px; }
.footer-disclaimer { font-size: 11.5px; line-height: 1.45; }

.home .footer-main { padding: 40px 0 28px !important; }
.home .footer-grid {
  width: min(1120px, calc(100% - 48px));
  grid-template-columns: 1.35fr repeat(4, minmax(110px, .55fr));
  gap: 30px;
}
.home .footer-bottom-inner {
  width: min(1120px, calc(100% - 48px));
  grid-template-columns: 1fr 5fr;
  gap: 28px;
}
.home .footer-bottom-inner > div:first-child { display: block; }
.home .footer-copy { display: block; }

@media (max-width: 960px) {
  .home .landing-hero-content {
    transform: translateY(-18px);
    padding-bottom: clamp(96px, 14svh, 132px) !important;
  }
  .footer-grid,
  .footer-bottom-inner,
  .home .footer-grid,
  .home .footer-bottom-inner {
    width: min(100% - 36px, 1120px) !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 22px 28px !important;
  }
  .footer-grid > div:first-child,
  .home .footer-grid > div:first-child {
    grid-column: 1 / -1;
  }
  .footer-bottom-inner,
  .home .footer-bottom-inner {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
}

@media (max-width: 640px) {
  .home .landing-hero {
    min-height: calc(100svh - 78px) !important;
  }
  .home .landing-hero-content {
    transform: none;
    padding-top: clamp(18px, 5svh, 40px) !important;
    padding-bottom: clamp(330px, 52svh, 430px) !important;
  }
  .home .landing-hero .btns {
    margin-top: 24px !important;
  }
  .home .landing-hero .btn {
    min-width: 182px;
  }

  .footer-main,
  .home .footer-main {
    padding: 28px 0 22px !important;
  }
  .footer-grid,
  .home .footer-grid {
    width: min(100% - 32px, 1120px) !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px 22px !important;
  }
  .footer-logo,
  .home .footer-logo {
    width: 154px !important;
    max-width: 52vw !important;
  }
  .footer-copy,
  .home .footer-copy {
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    max-width: 34ch !important;
    margin-top: 10px !important;
  }
  .footer-column h4,
  .home .footer-column h4 {
    font-size: 12.5px !important;
    margin-bottom: 8px !important;
  }
  .footer-column a,
  .footer-column span,
  .home .footer-column a,
  .home .footer-column span {
    font-size: 12.5px !important;
    margin: 6px 0 !important;
    overflow-wrap: anywhere;
  }
  .footer-bottom,
  .home .footer-bottom {
    padding: 14px 0 18px !important;
  }
  .footer-bottom-inner,
  .home .footer-bottom-inner {
    width: min(100% - 32px, 1120px) !important;
    grid-template-columns: 1fr !important;
  }
  .footer-disclaimer,
  .home .footer-disclaimer {
    font-size: 10.8px !important;
    line-height: 1.42 !important;
    max-width: none !important;
  }
}

@media (max-width: 420px) {
  .home .landing-hero-content {
    padding-bottom: clamp(300px, 49svh, 390px) !important;
  }
}

html { background: #06231b; }
body {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  background: #06231b;
}
main {
  flex: 1 0 auto;
  background: var(--paper);
}
.site-footer { flex-shrink: 0; }
.home .landing-hero-content {
  padding-bottom: clamp(86px, 12svh, 136px) !important;
}

@media (max-width: 640px) {
  .home .landing-hero-content {
    padding-bottom: clamp(250px, 40svh, 350px) !important;
  }
  .home .landing-hero .btns { display: none !important; }
  .home .project-feature {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    align-items: start !important;
  }
  .home .project-copy { order: 1; }
  .home .project-image { order: 2; }
  .home .project-image img {
    height: clamp(210px, 58vw, 285px) !important;
  }
}

@media (max-width: 420px) {
  .home .landing-hero-content {
    padding-bottom: clamp(235px, 38svh, 320px) !important;
  }
}

body.home > .site-header {
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  z-index: 200 !important;
  background: linear-gradient(180deg, #edf5ff 0%, #f7fbff 100%) !important;
  border-bottom: 1px solid rgba(25, 27, 24, .08) !important;
  box-shadow: 0 6px 18px rgba(17, 22, 17, .05) !important;
}
body.home > .site-header .mobile-menu {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 0 18px !important;
}
@media (max-width: 640px) {
  body.home > .site-header {
    position: sticky !important;
    background: linear-gradient(180deg, #edf5ff 0%, #f7fbff 100%) !important;
  }
}

@media (max-width: 760px) {
  .site-header {
    z-index: 1000 !important;
  }

  .site-header .container {
    width: min(100% - 28px, 1120px);
  }

  .nav {
    height: 72px !important;
    gap: 14px !important;
  }

  .nav-right {
    display: none !important;
  }

  .mobile-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 76px;
    min-height: 42px;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(11, 79, 54, .22) !important;
    background: #ffffff !important;
    color: var(--forest-dark) !important;
    box-shadow: 0 8px 20px rgba(17, 22, 17, .08) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: -.01em;
  }

  .mobile-toggle[aria-expanded="true"] {
    background: var(--forest-dark) !important;
    border-color: var(--forest-dark) !important;
    color: #ffffff !important;
  }

  .mobile-menu {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 14px !important;
    right: 14px !important;
    z-index: 1001 !important;
    padding: 10px !important;
    margin: 0 !important;
    background: rgba(255, 255, 255, .98) !important;
    color: var(--ink) !important;
    border: 1px solid rgba(25, 27, 24, .10) !important;
    border-radius: 18px !important;
    box-shadow: 0 22px 52px rgba(17, 22, 17, .22) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .mobile-menu.open {
    display: grid !important;
    gap: 4px !important;
  }

  .mobile-menu::before {
    content: "";
    position: absolute;
    top: -7px;
    right: 38px;
    width: 14px;
    height: 14px;
    background: rgba(255, 255, 255, .98);
    border-left: 1px solid rgba(25, 27, 24, .10);
    border-top: 1px solid rgba(25, 27, 24, .10);
    transform: rotate(45deg);
  }

  .mobile-menu a {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    min-height: 50px;
    padding: 14px 14px !important;
    border-top: 0 !important;
    border-radius: 12px;
    color: var(--forest-dark) !important;
    font-size: 16px !important;
    font-weight: 780 !important;
    letter-spacing: -.01em;
  }

  .mobile-menu a::after {
    content: "›";
    color: rgba(11, 79, 54, .55);
    font-size: 22px;
    line-height: 1;
    margin-left: 18px;
  }

  .mobile-menu a:hover,
  .mobile-menu a:focus-visible,
  .mobile-menu a.active {
    background: rgba(11, 79, 54, .08) !important;
    color: var(--forest-dark) !important;
  }

  body.home > .site-header .mobile-menu {
    padding: 10px !important;
    margin: 0 !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 22px 52px rgba(17, 22, 17, .22) !important;
    border-radius: 18px !important;
  }
}

@media (max-width: 420px) {
  .site-header .container {
    width: min(100% - 22px, 1120px);
  }

  .site-header .nav-logo,
  img.nav-logo {
    width: 162px !important;
    max-width: 50vw !important;
  }

  .mobile-toggle {
    min-width: 68px;
    min-height: 40px;
    padding: 9px 13px !important;
    font-size: 13px !important;
  }

  .mobile-menu {
    left: 11px !important;
    right: 11px !important;
  }

  .mobile-menu a {
    min-height: 48px;
    padding: 13px 13px !important;
    font-size: 15.5px !important;
  }
}

@media (max-width: 760px) {
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body.home > .site-header .mobile-menu,
  body.home > .site-header .mobile-menu.open,
  .site-header .mobile-menu,
  .site-header .mobile-menu.open {
    background: #ffffff !important;
    opacity: 1 !important;
    border: 1px solid rgba(25, 27, 24, .12) !important;
    box-shadow: 0 22px 52px rgba(17, 22, 17, .22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.home > .site-header .mobile-menu::before,
  .site-header .mobile-menu::before {
    background: #ffffff !important;
    opacity: 1 !important;
  }

  .mobile-toggle,
  .mobile-menu a,
  button,
  a {
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(11, 79, 54, .12);
  }

  .mobile-toggle {
    font-size: 16px !important;
    transform: none !important;
  }

  .mobile-toggle:focus,
  .mobile-toggle:active {
    transform: none !important;
  }

  .mobile-menu a {
    font-size: 16px !important;
  }
}

@media (max-width: 420px) {
  .mobile-toggle {
    font-size: 16px !important;
  }
}

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow-x: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

.site-header,
main,
.site-footer {
  width: 100%;
  max-width: 100%;
}

.container {
  max-width: calc(100vw - 46px);
}

img,
video,
svg {
  max-width: 100%;
}

.landing-hero,
.page-hero,
.section,
.section-tight,
.project-feature,
.footer-main,
.footer-bottom {
  max-width: 100%;
  overflow-x: clip;
}

.mobile-menu {
  max-width: calc(100vw - 28px);
}

@media (min-width: 761px) {
  .mobile-menu {
    display: none !important;
  }

  .nav {
    min-width: 0;
  }

  .nav-right,
  .nav-links {
    min-width: 0;
  }
}

.contact-hero {
  background:
    radial-gradient(circle at 78% 18%, rgba(31, 107, 79, .20) 0, rgba(31, 107, 79, 0) 34%),
    linear-gradient(135deg, #0f2f26 0%, #123d2f 46%, #edf5ff 46.2%, #f7fbff 100%);
  color: #ffffff;
}

.contact-hero .page-hero-inner {
  max-width: 850px;
}

.contact-hero .lead {
  color: rgba(255, 255, 255, .78);
}

.contact-section {
  padding-top: 72px;
}

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 28px;
  align-items: stretch;
}

.contact-card {
  border: 1px solid rgba(25, 27, 24, .10);
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 22px 60px rgba(17, 22, 17, .08);
}

.contact-card-primary {
  padding: clamp(30px, 5vw, 56px);
  position: relative;
  overflow: hidden;
}

.contact-card-primary::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -90px;
  bottom: -120px;
  border-radius: 999px;
  background: rgba(31, 107, 79, .08);
  pointer-events: none;
}

.contact-card-kicker {
  display: inline-flex;
  margin-bottom: 18px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(11, 79, 54, .09);
  color: var(--forest-dark);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.contact-card-primary h2 {
  max-width: 11ch;
  margin-bottom: 18px;
  font-size: clamp(38px, 5vw, 62px);
}

.contact-card-primary .lead {
  max-width: 620px;
  margin-bottom: 28px;
}

.contact-email {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 56px;
  padding: 15px 20px;
  border-radius: 999px;
  background: var(--forest);
  color: #ffffff;
  font-weight: 820;
  box-shadow: 0 14px 28px rgba(6, 40, 31, .20);
  overflow-wrap: anywhere;
}

.contact-email:hover,
.contact-email:focus-visible {
  background: var(--forest-dark);
}

.contact-card-secondary {
  padding: clamp(24px, 3.5vw, 36px);
  background:
    linear-gradient(180deg, rgba(237, 245, 255, .75), rgba(255, 255, 255, 1));
}

.contact-card-secondary h3 {
  margin-bottom: 16px;
  font-size: 21px;
}

.contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.contact-list li {
  position: relative;
  padding: 12px 0 12px 28px;
  border-top: 1px solid rgba(25, 27, 24, .09);
  color: var(--charcoal);
  font-weight: 650;
}

.contact-list li:first-child {
  border-top: 0;
}

.contact-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 19px;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--forest);
  box-shadow: 0 0 0 5px rgba(11, 79, 54, .10);
}

.contact-divider {
  height: 1px;
  margin: 26px 0;
  background: rgba(25, 27, 24, .10);
}

.contact-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contact-tags span {
  display: inline-flex;
  padding: 9px 11px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(25, 27, 24, .10);
  color: var(--forest-dark);
  font-size: 13px;
  font-weight: 760;
}

@media (max-width: 900px) {
  .contact-layout {
    grid-template-columns: 1fr;
  }

  .contact-card-primary h2 {
    max-width: 14ch;
  }
}

@media (max-width: 640px) {
  .contact-hero {
    background:
      linear-gradient(180deg, #0f2f26 0%, #123d2f 100%);
  }

  .contact-section {
    padding-top: 42px;
    padding-bottom: 54px;
  }

  .contact-card {
    border-radius: 22px;
  }

  .contact-card-primary,
  .contact-card-secondary {
    padding: 24px;
  }

  .contact-card-primary h2 {
    max-width: none;
    font-size: clamp(32px, 10vw, 42px);
  }

  .contact-email {
    width: 100%;
    justify-content: center;
    min-height: 54px;
    padding-inline: 14px;
    font-size: 15px;
  }
}

.page-hero {
  position: relative;
  overflow: hidden;
}

.page-hero:not(.has-image):not(.contact-hero):not(.news-hero) {
  background:
    radial-gradient(circle at 78% 16%, rgba(31, 107, 79, .14) 0, rgba(31, 107, 79, 0) 34%),
    linear-gradient(135deg, #eef6ff 0%, #f8fbff 52%, #f6f1e8 100%);
}

.page-hero.has-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6, 40, 31, .82) 0%, rgba(6, 40, 31, .58) 43%, rgba(6, 40, 31, .18) 100%),
    radial-gradient(circle at 72% 22%, rgba(255,255,255,.10), transparent 34%);
  pointer-events: none;
}

.page-hero.has-image .page-hero-inner {
  position: relative;
  z-index: 1;
}

.refined-intro-section {
  padding-top: 76px;
  padding-bottom: 76px;
}

.refined-intro-grid {
  align-items: center;
  gap: clamp(34px, 5vw, 68px);
}

.refined-intro-grid > div:first-child {
  padding: clamp(26px, 4vw, 42px);
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
  border: 1px solid rgba(25, 27, 24, .09);
  box-shadow: 0 22px 58px rgba(17, 22, 17, .07);
}

.refined-intro-grid .check-list,
.refined-intro-grid > .grid-2 {
  padding: 18px;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(25, 27, 24, .09);
  box-shadow: 0 18px 48px rgba(17, 22, 17, .06);
}

.refined-intro-grid > .grid-2 .card,
.refined-intro-grid .check {
  border-radius: 18px;
}

.refined-dark-section {
  position: relative;
  overflow: hidden;
}

.refined-dark-section::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  right: -220px;
  top: -260px;
  border-radius: 999px;
  background: rgba(220, 231, 223, .08);
  pointer-events: none;
}

.refined-dark-section > .container {
  position: relative;
  z-index: 1;
}

.card,
.product-panel-card,
.team-card {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.card:hover,
.product-panel-card:hover,
.team-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 54px rgba(17, 22, 17, .12);
  border-color: rgba(11, 79, 54, .18);
}

.product-panel-card,
.card,
.team-card,
.panel {
  border-color: rgba(25, 27, 24, .10);
}

.product-panel-card {
  border-radius: 26px;
  overflow: hidden;
}

.product-image-strip {
  border-radius: 18px;
  overflow: hidden;
}

.process {
  padding: 10px;
  border-radius: 28px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
}

.process-step {
  border-radius: 18px;
}

.step-num {
  box-shadow: 0 0 0 6px rgba(255,255,255,.06);
}

.image-card.refined-image,
.image-card {
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(17, 22, 17, .13);
}

.refined-split {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(34px, 5vw, 68px);
  align-items: center;
}

.refined-copy {
  padding: clamp(22px, 3vw, 36px);
}

.refined-copy .lead {
  margin-top: 22px;
}

.insight-list {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.insight-list > div {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  align-items: start;
  padding: 15px 16px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(25, 27, 24, .09);
}

.insight-list span {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(11, 79, 54, .09);
  color: var(--forest-dark);
  font-weight: 850;
  font-size: 12px;
}

.insight-list p {
  color: var(--charcoal);
  font-weight: 650;
  padding-top: 4px;
}

.news-hero {
  background:
    radial-gradient(circle at 76% 18%, rgba(31, 107, 79, .18) 0, rgba(31, 107, 79, 0) 32%),
    linear-gradient(135deg, #0f2f26 0%, #123d2f 42%, #edf5ff 42.2%, #f7fbff 100%);
  color: #ffffff;
}

.news-hero .lead {
  color: rgba(255,255,255,.76);
}

.news-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 28px;
  align-items: stretch;
}

.news-feature-copy,
.news-status-card {
  border-radius: 30px;
  border: 1px solid rgba(25, 27, 24, .09);
  background: #ffffff;
  box-shadow: 0 22px 58px rgba(17, 22, 17, .07);
}

.news-feature-copy {
  padding: clamp(30px, 5vw, 54px);
}

.news-feature-copy .lead {
  margin-top: 22px;
  max-width: 680px;
}

.news-status-card {
  padding: clamp(26px, 4vw, 38px);
  background:
    linear-gradient(180deg, rgba(237,245,255,.82), rgba(255,255,255,1));
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.news-status-card h3 {
  margin-bottom: 12px;
  font-size: clamp(24px, 3vw, 34px);
}

.news-status-card p {
  color: var(--muted);
}

.team-grid {
  gap: 22px;
}

.team-card {
  border-radius: 24px;
  overflow: hidden;
}

.team-body {
  padding: 22px;
}

.about-page .panel.panel-dark {
  border-radius: 34px;
  overflow: hidden;
}

.sustainability-page .big-statement {
  max-width: 980px;
}

.sustainability-page .card-dark {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.055);
}

@media (max-width: 900px) {
  .refined-split,
  .news-feature {
    grid-template-columns: 1fr;
  }

  .refined-intro-grid {
    gap: 28px;
  }
}

@media (max-width: 640px) {
  .refined-intro-section {
    padding-top: 46px;
    padding-bottom: 52px;
  }

  .refined-intro-grid > div:first-child,
  .refined-intro-grid .check-list,
  .refined-intro-grid > .grid-2,
  .news-feature-copy,
  .news-status-card {
    border-radius: 22px;
    padding: 22px;
  }

  .news-hero,
  .contact-hero {
    background: linear-gradient(180deg, #0f2f26 0%, #123d2f 100%);
  }

  .page-hero.has-image::after {
    background: linear-gradient(180deg, rgba(6,40,31,.78), rgba(6,40,31,.54));
  }

  .card:hover,
  .product-panel-card:hover,
  .team-card:hover {
    transform: none;
  }
}

@media (max-width: 760px) {
  .about-page .container {
    width: min(100% - 28px, 1120px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .about-page .grid-2,
  .about-page .refined-intro-grid,
  .about-page .team-grid,
  .about-page .panel-content {
    grid-template-columns: 1fr !important;
    justify-items: stretch !important;
  }

  .about-page .center {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left !important;
  }

  .about-page .team-card {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .about-page .team-photo,
  .about-page .team-photo img {
    width: 100% !important;
    max-width: 100% !important;
  }

  .about-page .team-body {
    text-align: left !important;
  }
}

body:not(.home) .page-hero {
  padding: clamp(58px, 7vw, 82px) 0 clamp(48px, 6vw, 70px) !important;
}

body:not(.home) .page-hero.has-image {
  min-height: clamp(330px, 38vw, 410px) !important;
}

body:not(.home) .page-hero h1 {
  font-size: clamp(40px, 5vw, 64px) !important;
}

body:not(.home) .page-hero .lead {
  margin-top: 18px !important;
  font-size: clamp(16px, 1.65vw, 18px) !important;
  line-height: 1.62 !important;
}

.solutions-process-section {
  background:
    radial-gradient(circle at 82% 12%, rgba(214, 234, 223, .10), transparent 34%),
    linear-gradient(135deg, #071f19 0%, #0b3025 52%, #0f3d2f 100%) !important;
  color: #ffffff !important;
}

.solutions-process-section .eyebrow {
  color: #bfe8d4 !important;
}

.solutions-process-section h2,
.solutions-process-section h3,
.solutions-process-section h4 {
  color: #ffffff !important;
}

.solutions-process-section .lead,
.solutions-process-section p {
  color: rgba(255, 255, 255, .82) !important;
}

.solutions-process-section .process {
  background: rgba(255, 255, 255, .075) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  box-shadow: 0 24px 58px rgba(0, 0, 0, .18);
}

.solutions-process-section .process-step {
  background: rgba(255, 255, 255, .09) !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  color: #ffffff !important;
}

.solutions-process-section .process-step + .process-step {
  margin-top: 12px;
}

.solutions-process-section .step-num {
  background: #ffffff !important;
  color: #0b3025 !important;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, .10) !important;
}

@media (max-width: 760px) {
  body:not(.home) .page-hero {
    padding: 40px 0 36px !important;
  }

  body:not(.home) .page-hero.has-image {
    min-height: 280px !important;
  }

  body:not(.home) .page-hero h1 {
    font-size: clamp(32px, 9vw, 44px) !important;
  }

  body:not(.home) .page-hero .lead {
    margin-top: 14px !important;
    font-size: 16px !important;
  }
}

body:not(.home) .page-hero{
  padding:24px 0 20px !important;
  min-height:auto !important;
}
body:not(.home) .page-hero h1{
  font-size:clamp(28px,3vw,46px) !important;
  margin-bottom:8px !important;
}
body:not(.home) .page-hero .lead{
  font-size:16px !important;
  max-width:700px !important;
}

.solutions-process-section,
.solutions-process-section .process{
  background:#0a2b22 !important;
}
.solutions-process-section .process-step{
  background:#ffffff !important;
  color:#10231d !important;
  border:0 !important;
}
.solutions-process-section .process-step *{
  color:#10231d !important;
}
.solutions-process-section .step-num{
  background:#0a2b22 !important;
  color:#ffffff !important;
}

body:not(.home) main > .page-hero,
body:not(.home) main > .page-hero.has-image,
body:not(.home) main > .page-hero.contact-hero,
body:not(.home) main > .page-hero.news-hero {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 34px !important;
  padding-bottom: 30px !important;
  display: block !important;
  align-items: unset !important;
}

body:not(.home) main > .page-hero .page-hero-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body:not(.home) main > .page-hero h1 {
  font-size: clamp(30px, 3.6vw, 48px) !important;
  line-height: 1.04 !important;
}

body:not(.home) main > .page-hero .lead {
  margin-top: 12px !important;
  line-height: 1.5 !important;
}

.solutions-page .solutions-process-section,
.solutions-process-section {
  background: #08241d !important;
  color: #ffffff !important;
}

.solutions-page .solutions-process-section::before,
.solutions-page .solutions-process-section::after,
.solutions-process-section::before,
.solutions-process-section::after {
  opacity: .18 !important;
}

.solutions-page .solutions-process-section > .container > div:first-child,
.solutions-process-section > .container > div:first-child {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.solutions-page .solutions-process-section h2,
.solutions-page .solutions-process-section h3,
.solutions-page .solutions-process-section h4,
.solutions-page .solutions-process-section .eyebrow,
.solutions-page .solutions-process-section .lead,
.solutions-page .solutions-process-section p,
.solutions-process-section h2,
.solutions-process-section h3,
.solutions-process-section h4,
.solutions-process-section .eyebrow,
.solutions-process-section .lead,
.solutions-process-section p {
  color: #ffffff !important;
}

.solutions-page .solutions-process-section .eyebrow,
.solutions-process-section .eyebrow {
  color: #bfe8d4 !important;
}

.solutions-page .solutions-process-section .process,
.solutions-process-section .process {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.solutions-page .solutions-process-section .process-step,
.solutions-process-section .process-step {
  background: #ffffff !important;
  color: #10231d !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.18) !important;
}

.solutions-page .solutions-process-section .process-step + .process-step,
.solutions-process-section .process-step + .process-step {
  margin-top: 12px !important;
}

.solutions-page .solutions-process-section .process-step h4,
.solutions-page .solutions-process-section .process-step p,
.solutions-process-section .process-step h4,
.solutions-process-section .process-step p {
  color: #10231d !important;
}

.solutions-page .solutions-process-section .step-num,
.solutions-process-section .step-num {
  background: #0b4f36 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

@media (max-width: 760px) {
  body:not(.home) main > .page-hero,
  body:not(.home) main > .page-hero.has-image,
  body:not(.home) main > .page-hero.contact-hero,
  body:not(.home) main > .page-hero.news-hero {
    padding-top: 26px !important;
    padding-bottom: 24px !important;
  }
}

body:not(.home) main > .page-hero,
body:not(.home) main > .page-hero.has-image,
body:not(.home) main > .page-hero.contact-hero,
body:not(.home) main > .page-hero.news-hero {
  min-height: clamp(360px, 42vw, 500px) !important;
  padding-top: clamp(76px, 9vw, 116px) !important;
  padding-bottom: clamp(68px, 8vw, 102px) !important;
  display: grid !important;
  align-items: end !important;
}

body:not(.home) main > .page-hero:not(.has-image) {
  min-height: clamp(280px, 30vw, 380px) !important;
  align-items: center !important;
}

body:not(.home) main > .page-hero h1 {
  font-size: clamp(42px, 5.8vw, 76px) !important;
  line-height: 1.04 !important;
}

body:not(.home) main > .page-hero .lead {
  margin-top: 20px !important;
  font-size: clamp(17px, 1.8vw, 19px) !important;
  line-height: 1.62 !important;
}

.solutions-page .product-panel-card.featured .card-number,
.product-panel-card.featured .card-number {
  color: #ffffff !important;
  background: var(--forest-dark) !important;
  border-color: rgba(255,255,255,.18) !important;
}

.sustainability-contact-merge {
  background:
    radial-gradient(circle at 82% 18%, rgba(191, 232, 212, .13), transparent 34%),
    linear-gradient(135deg, #06231b 0%, #0b3428 54%, #103f31 100%);
  color: #ffffff;
  padding-top: clamp(68px, 8vw, 96px);
  padding-bottom: clamp(74px, 8vw, 104px);
}

.sustainability-contact-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: stretch;
}

.sustainability-contact-copy {
  padding: clamp(28px, 4vw, 46px);
  border-radius: 30px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .12);
}

.sustainability-contact-copy .eyebrow {
  color: #bfe8d4 !important;
}

.sustainability-contact-copy h2 {
  color: #ffffff;
}

.sustainability-contact-copy .lead {
  color: rgba(255, 255, 255, .78);
  margin-top: 22px;
}

.sustainability-contact-card {
  padding: clamp(28px, 4vw, 42px);
  border-radius: 30px;
  background: #ffffff;
  color: var(--ink);
  box-shadow: 0 26px 70px rgba(0, 0, 0, .25);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sustainability-contact-card .card-number {
  color: var(--forest);
  margin-bottom: 14px;
}

.sustainability-contact-card h3 {
  font-size: clamp(28px, 3.2vw, 40px);
  margin-bottom: 14px;
  color: var(--ink);
}

.sustainability-contact-card p {
  color: var(--muted);
  margin-bottom: 26px;
}

.sustainability-contact-card .btn {
  width: fit-content;
}

@media (max-width: 760px) {
  body:not(.home) main > .page-hero,
  body:not(.home) main > .page-hero.has-image,
  body:not(.home) main > .page-hero.contact-hero,
  body:not(.home) main > .page-hero.news-hero {
    min-height: 340px !important;
    padding-top: 54px !important;
    padding-bottom: 50px !important;
  }

  body:not(.home) main > .page-hero:not(.has-image) {
    min-height: 250px !important;
  }

  body:not(.home) main > .page-hero h1 {
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  .sustainability-contact-panel {
    grid-template-columns: 1fr;
  }

  .sustainability-contact-copy,
  .sustainability-contact-card {
    border-radius: 24px;
    padding: 24px;
  }

  .sustainability-contact-card .btn {
    width: 100%;
  }
}

.product-panel-card.featured .card-number,
.solutions-page .product-panel-card.featured .card-number{
  background: transparent !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
}

.about-page .grid-2 .grid-2,
.about-page .refined-intro-grid .grid-2{
  align-items: stretch !important;
}

.about-page .grid-2 .card,
.about-page .refined-intro-grid .card{
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

.about-page .grid-2 .card p,
.about-page .refined-intro-grid .card p{
  flex-grow: 1;
}

.about-page .refined-intro-grid,
.about-page .section-paper > .container.grid-2 {
  align-items: stretch !important;
}

.about-page .refined-intro-grid > div:first-child,
.about-page .section-paper > .container.grid-2 > div:first-child {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.about-page .refined-intro-grid > .grid-2,
.about-page .section-paper > .container.grid-2 > .grid-2 {
  height: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}

.about-page .refined-intro-grid > .grid-2 .card,
.about-page .section-paper > .container.grid-2 > .grid-2 .card {
  min-height: 0 !important;
  height: 100% !important;
}

@media (min-width: 900px) {
  .compact-laptop-section {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  .compact-laptop-section .grid-2,
  .compact-laptop-section .refined-split,
  .compact-laptop-section .refined-intro-grid {
    gap: 34px !important;
  }

  .compact-laptop-section h2 {
    font-size: clamp(30px, 3.4vw, 46px) !important;
  }

  .compact-laptop-section .lead {
    font-size: 16px !important;
    line-height: 1.52 !important;
    margin-top: 16px !important;
  }

  .compact-laptop-section .check-list {
    gap: 8px !important;
    margin-top: 20px !important;
  }

  .compact-laptop-section .check {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    font-size: 14px !important;
  }

  .compact-laptop-section .image-card img,
  .compact-laptop-section .refined-image img {
    max-height: 330px !important;
    object-fit: cover !important;
  }

  .compact-process-section .process-step {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .compact-process-section .process-step h4 {
    font-size: 16px !important;
    margin-bottom: 4px !important;
  }

  .compact-process-section .process-step p {
    font-size: 13.5px !important;
    line-height: 1.42 !important;
  }

  .compact-process-section .step-num {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
  }

  .compact-quality-section .image-card-overlay {
    padding: 18px !important;
  }

  .compact-quality-section .image-card-overlay h3 {
    font-size: 19px !important;
  }

  .compact-quality-section .image-card-overlay p {
    font-size: 13.5px !important;
    line-height: 1.42 !important;
  }
}

@media (max-width: 760px) {
  .about-page .refined-intro-grid > .grid-2,
  .about-page .section-paper > .container.grid-2 > .grid-2 {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
  }
}

@media (min-width: 900px) {
  .solutions-page .compact-process-section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .solutions-page .compact-process-section > .container {
    display: block !important;
  }

  .solutions-page .compact-process-section > .container > div:first-child {
    max-width: 860px;
    margin-bottom: 30px;
  }

  .solutions-page .process-timeline {
    position: relative;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px !important;
    padding: 26px 0 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .solutions-page .process-timeline::before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    top: 42px;
    height: 2px;
    background: rgba(255,255,255,.28);
  }

  .solutions-page .process-timeline .process-step {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .solutions-page .process-timeline .step-num {
    position: relative;
    z-index: 2;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #0b3025 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    box-shadow: 0 0 0 7px rgba(255,255,255,.10) !important;
  }

  .solutions-page .process-timeline h4 {
    color: #ffffff !important;
    font-size: 17px !important;
    margin: 8px 0 6px !important;
  }

  .solutions-page .process-timeline p {
    color: rgba(255,255,255,.76) !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 899px) {
  .solutions-page .process-timeline {
    position: relative;
    display: grid !important;
    gap: 14px !important;
    padding-left: 8px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .solutions-page .process-timeline .process-step {
    position: relative;
    display: grid !important;
    grid-template-columns: 38px 1fr !important;
    gap: 14px !important;
    align-items: start !important;
    padding: 16px !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 16px !important;
  }

  .solutions-page .process-timeline .step-num {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    background: #ffffff !important;
    color: #0b3025 !important;
  }

  .solutions-page .process-timeline h4 {
    color: #ffffff !important;
  }

  .solutions-page .process-timeline p {
    color: rgba(255,255,255,.78) !important;
  }
}

.solutions-page .process-timeline-slick,
.solutions-page .process-timeline-slick * {
  box-sizing: border-box;
}

@media (min-width: 900px) {
  .solutions-page .compact-process-section {
    padding-top: 58px !important;
    padding-bottom: 62px !important;
  }

  .solutions-page .compact-process-section > .container {
    display: block !important;
  }

  .solutions-page .compact-process-section > .container > div:first-child {
    max-width: 900px !important;
    margin: 0 0 38px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .solutions-page .compact-process-section > .container > div:first-child .lead {
    max-width: 820px;
  }

  .solutions-page .process-timeline-slick {
    position: relative;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px !important;
    margin-top: 8px !important;
    padding: 42px 0 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .solutions-page .process-timeline-slick::before {
    content: "";
    position: absolute;
    left: calc(10% + 18px);
    right: calc(10% + 18px);
    top: 59px;
    height: 2px;
    background: linear-gradient(90deg,
      rgba(191, 232, 212, .16),
      rgba(191, 232, 212, .82) 18%,
      rgba(191, 232, 212, .82) 82%,
      rgba(191, 232, 212, .16));
  }

  .solutions-page .timeline-step {
    position: relative;
    display: grid;
    grid-template-rows: 50px 1fr;
    gap: 18px;
    min-width: 0;
  }

  .solutions-page .timeline-marker {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
  }

  .solutions-page .timeline-marker span {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ffffff;
    color: #0b3025;
    border: 1px solid rgba(255, 255, 255, .88);
    box-shadow:
      0 0 0 8px rgba(255, 255, 255, .10),
      0 16px 30px rgba(0, 0, 0, .24);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .02em;
  }

  .solutions-page .timeline-card {
    position: relative;
    min-height: 168px;
    padding: 22px 18px 20px;
    border-radius: 22px;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .115), rgba(255, 255, 255, .055));
    border: 1px solid rgba(255, 255, 255, .16);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .10),
      0 18px 40px rgba(0, 0, 0, .18);
  }

  .solutions-page .timeline-card::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -18px;
    width: 1px;
    height: 18px;
    background: rgba(191, 232, 212, .52);
  }

  .solutions-page .timeline-card h4 {
    color: #ffffff !important;
    font-size: 17px !important;
    line-height: 1.14 !important;
    letter-spacing: -.025em;
    margin: 0 0 10px !important;
  }

  .solutions-page .timeline-card p {
    color: rgba(255, 255, 255, .76) !important;
    font-size: 13.5px !important;
    line-height: 1.48 !important;
    margin: 0 !important;
  }

  .solutions-page .timeline-step:nth-child(even) .timeline-card {
    transform: translateY(14px);
  }

  .solutions-page .timeline-step:hover .timeline-card {
    border-color: rgba(191, 232, 212, .35);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .075));
  }

  .solutions-page .timeline-step:hover .timeline-marker span {
    box-shadow:
      0 0 0 8px rgba(191, 232, 212, .14),
      0 18px 34px rgba(0, 0, 0, .26);
  }
}

@media (max-width: 899px) {
  .solutions-page .process-timeline-slick {
    position: relative;
    display: grid !important;
    gap: 14px !important;
    margin-top: 26px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .solutions-page .process-timeline-slick::before {
    content: "";
    position: absolute;
    left: 23px;
    top: 26px;
    bottom: 26px;
    width: 2px;
    background: linear-gradient(180deg,
      rgba(191, 232, 212, .16),
      rgba(191, 232, 212, .72) 15%,
      rgba(191, 232, 212, .72) 85%,
      rgba(191, 232, 212, .16));
  }

  .solutions-page .timeline-step {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
  }

  .solutions-page .timeline-marker {
    position: relative;
    z-index: 2;
    padding-top: 14px;
  }

  .solutions-page .timeline-marker span {
    display: inline-flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ffffff;
    color: #0b3025;
    box-shadow:
      0 0 0 7px rgba(255, 255, 255, .10),
      0 12px 24px rgba(0, 0, 0, .22);
    font-size: 12px;
    font-weight: 900;
  }

  .solutions-page .timeline-card {
    padding: 18px 18px 17px;
    border-radius: 18px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 16px 34px rgba(0,0,0,.16);
  }

  .solutions-page .timeline-card h4 {
    color: #ffffff !important;
    font-size: 17px !important;
    margin: 0 0 7px !important;
  }

  .solutions-page .timeline-card p {
    color: rgba(255,255,255,.76) !important;
    font-size: 14px !important;
    line-height: 1.48 !important;
    margin: 0 !important;
  }
}

@media (max-width: 420px) {
  .solutions-page .timeline-step {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
  }

  .solutions-page .process-timeline-slick::before {
    left: 20px;
  }

  .solutions-page .timeline-marker span {
    width: 40px;
    height: 40px;
  }

  .solutions-page .timeline-card {
    padding: 16px;
  }
}

@media (min-width: 900px) {
  .solutions-page .timeline-step:nth-child(even) .timeline-card,
  .solutions-page .timeline-step .timeline-card {
    transform: none !important;
  }

  .solutions-page .process-timeline-slick {
    align-items: start !important;
  }

  .solutions-page .timeline-step {
    grid-template-rows: 50px 1fr !important;
  }

  .solutions-page .timeline-card {
    height: 100% !important;
  }
}

.about-page .refined-intro-section {
  padding-top: 54px !important;
  padding-bottom: 54px !important;
}

.about-page .refined-intro-grid {
  gap: clamp(26px, 4vw, 46px) !important;
  align-items: stretch !important;
}

.about-page .refined-intro-grid > div:first-child {
  padding: clamp(22px, 3vw, 32px) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-page .refined-intro-grid > div:first-child .lead {
  margin-top: 16px !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
}

.about-page .refined-intro-grid > .grid-2 {
  padding: 14px !important;
  gap: 12px !important;
  align-items: stretch !important;
}

.about-page .refined-intro-grid > .grid-2 .card {
  padding: 18px !important;
  min-height: 0 !important;
  display: flex;
  flex-direction: column;
}

.about-page .refined-intro-grid > .grid-2 .card h3 {
  font-size: 18px !important;
  margin-bottom: 8px !important;
}

.about-page .refined-intro-grid > .grid-2 .card p {
  font-size: 13.5px !important;
  line-height: 1.45 !important;
}

.about-page .refined-intro-grid > .grid-2 .card-number {
  margin-bottom: 8px !important;
  font-size: 11.5px !important;
}

.about-team-section {
  padding-top: 74px !important;
  padding-bottom: 78px !important;
}

.about-team-section .center {
  max-width: 940px;
}

.about-team-section .center h2 {
  font-size: clamp(34px, 4.1vw, 54px) !important;
}

.about-team-section .center .lead {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

.about-team-section .team-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 42px !important;
}

.about-team-section .team-card {
  display: grid !important;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 168px;
  padding: 18px;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.055)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.16);
  overflow: hidden;
}

.about-team-section .team-card:hover {
  transform: translateY(-2px);
  border-color: rgba(191,232,212,.30) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.07)) !important;
}

.about-team-section .team-photo {
  width: 88px !important;
  height: 88px !important;
  aspect-ratio: auto !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.16), transparent 36%),
    linear-gradient(135deg, rgba(191,232,212,.18), rgba(255,255,255,.06));
  border: 1px solid rgba(255,255,255,.22);
  box-shadow:
    0 0 0 6px rgba(255,255,255,.06),
    0 16px 34px rgba(0,0,0,.18);
  overflow: hidden;
}

.about-team-section .team-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: grayscale(100%) contrast(1.03) !important;
  transform: scale(1.02);
}

.about-team-section .team-body {
  padding: 0 !important;
}

.about-team-section .team-body h3 {
  color: #ffffff !important;
  font-size: 21px !important;
  margin: 0 !important;
  letter-spacing: -.025em;
}

.about-team-section .role {
  color: #bfe8d4 !important;
  font-size: 11.5px !important;
  letter-spacing: .11em !important;
  margin: 6px 0 10px !important;
}

.about-team-section .team-body p {
  color: rgba(255,255,255,.70) !important;
  font-size: 13.5px !important;
  line-height: 1.48 !important;
}

@media (min-width: 1100px) {
  .about-team-section .team-card:nth-child(7) {
    grid-column: 1 / -1;
    max-width: calc(50% - 9px);
    justify-self: center;
  }
}

@media (max-width: 860px) {
  .about-team-section .team-grid {
    grid-template-columns: 1fr !important;
  }

  .about-team-section .team-card:nth-child(7) {
    max-width: none;
  }
}

@media (max-width: 560px) {
  .about-page .refined-intro-section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .about-page .refined-intro-grid > .grid-2 {
    grid-template-columns: 1fr !important;
  }

  .about-team-section {
    padding-top: 56px !important;
    padding-bottom: 60px !important;
  }

  .about-team-section .team-card {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 14px;
    min-height: 0;
    padding: 16px;
  }

  .about-team-section .team-photo {
    width: 64px !important;
    height: 64px !important;
    box-shadow:
      0 0 0 4px rgba(255,255,255,.06),
      0 12px 24px rgba(0,0,0,.16);
  }

  .about-team-section .team-body h3 {
    font-size: 18px !important;
  }

  .about-team-section .team-body p {
    font-size: 13px !important;
  }
}

.about-page .refined-intro-section {
  padding-top: 66px !important;
  padding-bottom: 66px !important;
}

.about-page .refined-intro-grid > div:first-child {
  padding: clamp(26px, 3.5vw, 38px) !important;
}

.about-team-section .team-grid {
  gap: 22px !important;
}

.about-team-section .team-card {
  grid-template-columns: 120px minmax(0, 1fr) !important;
  min-height: 190px !important;
  padding: 20px !important;
}

.about-team-section .team-photo {
  width: 120px !important;
  height: 140px !important;
  border-radius: 16px !important;
  box-shadow:
    0 0 0 4px rgba(255,255,255,.05),
    0 18px 36px rgba(0,0,0,.20) !important;
}

.about-team-section .team-photo img {
  transform: none !important;
  object-position: center top !important;
}

.about-team-section .team-body h3 {
  font-size: 23px !important;
}

.about-team-section .team-body p {
  font-size: 14px !important;
  line-height: 1.52 !important;
}

@media (max-width: 560px) {
  .about-page .refined-intro-section {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .about-team-section .team-card {
    grid-template-columns: 90px minmax(0, 1fr) !important;
    min-height: 0 !important;
  }

  .about-team-section .team-photo {
    width: 90px !important;
    height: 108px !important;
    border-radius: 12px !important;
  }
}

.about-page .refined-intro-section {
  padding-top: 82px !important;
  padding-bottom: 82px !important;
}

.about-page .refined-intro-grid {
  min-height: 520px !important;
  align-items: stretch !important;
}

.about-page .refined-intro-grid > div:first-child {
  padding: clamp(34px, 4vw, 48px) !important;
}

.about-page .refined-intro-grid > .grid-2 {
  gap: 14px !important;
}

.about-page .refined-intro-grid > .grid-2 .card {
  padding: 22px !important;
}

.about-page .section:last-of-type {
  padding-top: 48px !important;
  padding-bottom: 42px !important;
}

.about-page .section:last-of-type .panel,
.about-page .section:last-of-type .panel-dark {
  margin-bottom: 0 !important;
}

@media (max-width: 560px) {
  .about-page .refined-intro-section {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  .about-page .refined-intro-grid {
    min-height: 0 !important;
  }

  .about-page .section:last-of-type {
    padding-top: 38px !important;
    padding-bottom: 34px !important;
  }
}

body:not(.home) main > .page-hero,
body:not(.home) main > .page-hero.has-image,
body:not(.home) main > .page-hero.contact-hero,
body:not(.home) main > .page-hero.news-hero {
  min-height: 430px !important;
  height: 430px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: grid !important;
  align-items: end !important;
}

body:not(.home) main > .page-hero .page-hero-inner {
  padding-bottom: 72px !important;
}

body:not(.home) main > .page-hero:not(.has-image) {
  align-items: center !important;
}

body:not(.home) main > .page-hero:not(.has-image) .page-hero-inner {
  padding-bottom: 0 !important;
}

body:not(.home) main > .page-hero h1 {
  font-size: clamp(42px, 5.5vw, 72px) !important;
}

body:not(.home) main > .page-hero .lead {
  max-width: 760px !important;
}

.about-company-section {
  padding-top: 78px !important;
  padding-bottom: 78px !important;
  background:
    radial-gradient(circle at 88% 14%, rgba(31,107,79,.10), transparent 32%),
    linear-gradient(180deg, #fbfbf8 0%, #f6f1e8 100%) !important;
}

.about-company-section .refined-intro-grid {
  min-height: 500px !important;
  align-items: stretch !important;
  gap: clamp(28px, 4vw, 54px) !important;
}

.about-company-section .refined-intro-grid > div:first-child {
  position: relative;
  overflow: hidden;
  padding: clamp(34px, 4.5vw, 56px) !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 86% 12%, rgba(31,107,79,.12), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f7fbff 100%) !important;
  border: 1px solid rgba(25,27,24,.10) !important;
  box-shadow: 0 28px 70px rgba(17,22,17,.10) !important;
}

.about-company-section .refined-intro-grid > div:first-child::after {
  content: "";
  position: absolute;
  right: -110px;
  bottom: -120px;
  width: 270px;
  height: 270px;
  border-radius: 999px;
  background: rgba(11,79,54,.07);
  pointer-events: none;
}

.about-company-section .refined-intro-grid > div:first-child .eyebrow,
.about-company-section .refined-intro-grid > div:first-child h2,
.about-company-section .refined-intro-grid > div:first-child .lead {
  position: relative;
  z-index: 1;
}

.about-company-section .refined-intro-grid > div:first-child h2 {
  max-width: 10ch;
}

.about-company-section .refined-intro-grid > div:first-child .lead {
  max-width: 560px;
  font-size: 17px !important;
  line-height: 1.66 !important;
}

.about-company-section .refined-intro-grid > .grid-2 {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  gap: 16px !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

.about-company-section .refined-intro-grid > .grid-2 .card {
  position: relative;
  overflow: hidden;
  height: 100% !important;
  min-height: 0 !important;
  padding: 26px !important;
  border-radius: 26px !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfbf8 100%) !important;
  border: 1px solid rgba(25,27,24,.10) !important;
  box-shadow: 0 20px 54px rgba(17,22,17,.08) !important;
}

.about-company-section .refined-intro-grid > .grid-2 .card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: var(--forest);
  opacity: .92;
}

.about-company-section .refined-intro-grid > .grid-2 .card-number {
  display: inline-flex;
  margin-bottom: 14px !important;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(11,79,54,.08);
  color: var(--forest-dark);
  font-size: 11.5px !important;
  font-weight: 850;
}

.about-company-section .refined-intro-grid > .grid-2 .card h3 {
  font-size: 22px !important;
  line-height: 1.1 !important;
  margin-bottom: 10px !important;
}

.about-company-section .refined-intro-grid > .grid-2 .card p {
  font-size: 14.5px !important;
  line-height: 1.52 !important;
}

.about-partnerships-section {
  background: #111611 !important;
  padding-top: 24px !important;
  padding-bottom: 30px !important;
  margin-top: 0 !important;
}

.about-partnerships-section .panel.panel-dark {
  background:
    radial-gradient(circle at 90% 12%, rgba(31,107,79,.22), transparent 34%),
    linear-gradient(135deg, #06231b 0%, #111611 100%) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: none !important;
  border-radius: 28px !important;
}

.about-partnerships-section .panel-content {
  padding-top: 36px !important;
  padding-bottom: 36px !important;
}

.about-partnerships-section + .contact-band {
  margin-top: 0 !important;
}

.about-team-section {
  padding-bottom: 46px !important;
}

@media (max-width: 760px) {
  body:not(.home) main > .page-hero,
  body:not(.home) main > .page-hero.has-image,
  body:not(.home) main > .page-hero.contact-hero,
  body:not(.home) main > .page-hero.news-hero {
    height: 340px !important;
    min-height: 340px !important;
  }

  body:not(.home) main > .page-hero .page-hero-inner {
    padding-bottom: 44px !important;
  }

  body:not(.home) main > .page-hero:not(.has-image) .page-hero-inner {
    padding-bottom: 0 !important;
  }

  .about-company-section {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }

  .about-company-section .refined-intro-grid {
    min-height: 0 !important;
  }

  .about-company-section .refined-intro-grid > .grid-2 {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
  }

  .about-partnerships-section {
    padding-top: 18px !important;
    padding-bottom: 22px !important;
  }

  .about-partnerships-section .panel-content {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
}

.about-team-section {
  padding-bottom: 18px !important;
}

.about-partnerships-section {
  padding-top: 8px !important;
}

@media (max-width: 760px) {
  .about-team-section {
    padding-bottom: 12px !important;
  }

  .about-partnerships-section {
    padding-top: 6px !important;
  }
}

.about-partnerships-section {
  background: #f6f1e8 !important;
}

.about-partnerships-section .panel.panel-dark {
  background:
    radial-gradient(circle at 90% 12%, rgba(31,107,79,.22), transparent 34%),
    linear-gradient(135deg, #06231b 0%, #111611 100%) !important;
}

.about-partnerships-section {
  background: transparent !important;
  padding-top: 2px !important;
  margin-top: -6px !important;
}

.about-team-section {
  padding-bottom: 6px !important;
}

.about-partnerships-section .panel.panel-dark {
  background:
    radial-gradient(circle at 90% 12%, rgba(61,155,116,.28), transparent 34%),
    linear-gradient(135deg, #0a2d22 0%, #163b2d 100%) !important;
  border-color: rgba(120, 220, 175, .16) !important;
}

.about-partnerships-section .eyebrow,
.about-partnerships-section .card-number,
.about-partnerships-section .panel.panel-dark h3 {
  color: #9fe2bf !important;
}

@media (max-width: 760px) {
  .about-team-section {
    padding-bottom: 4px !important;
  }

  .about-partnerships-section {
    padding-top: 0 !important;
    margin-top: -4px !important;
  }
}

.about-partnerships-section {
  background: #111611 !important;
}

.about-partnerships-section .panel.panel-dark {
  background:
    radial-gradient(circle at 90% 12%, rgba(61,155,116,.28), transparent 34%),
    linear-gradient(135deg, #0a2d22 0%, #163b2d 100%) !important;
}

.about-partnerships-section {
  padding-bottom: 70px !important;
}

@media (max-width: 760px) {
  .about-partnerships-section {
    padding-bottom: 50px !important;
  }
}

.about-partnerships-section {
  padding-bottom: 140px !important;
}

@media (max-width: 760px) {
  .about-partnerships-section {
    padding-bottom: 90px !important;
  }
}

.about-page main {
  background: #111611 !important;
}

.about-page .about-company-section {
  background:
    radial-gradient(circle at 88% 14%, rgba(31,107,79,.10), transparent 32%),
    linear-gradient(180deg, #fbfbf8 0%, #f6f1e8 100%) !important;
}

.about-page .about-team-section {
  background: #111611 !important;
}

.about-page .about-partnerships-section {
  background: #111611 !important;
  padding-bottom: 32px !important;
}

.about-black-space {
  display: block;
  height: 150px;
  background: #111611;
}

@media (max-width: 760px) {
  .about-black-space {
    height: 95px;
  }
}

.about-black-space{
  height:40px !important;
  min-height:40px !important;
  max-height:40px !important;
}

@media (max-width:760px){
  .about-black-space{
    height:24px !important;
    min-height:24px !important;
    max-height:24px !important;
  }
}

@media (max-width: 760px) {
  body:not(.home) main > .page-hero .page-hero-inner {
    padding-top: 42px !important;
    padding-bottom: 24px !important;
  }

  body:not(.home) main > .page-hero h1 {
    margin-top: 10px !important;
  }
}

@media (max-width: 760px) {
  body:not(.home) main > .page-hero .page-hero-inner {
    padding-top: 20px !important;
    padding-bottom: 34px !important;
  }

  body:not(.home) main > .page-hero h1 {
    margin-top: 4px !important;
  }
}

@media (max-width: 760px) {
  body:not(.home) main > .page-hero,
  body:not(.home) main > .page-hero.has-image,
  body:not(.home) main > .page-hero.contact-hero,
  body:not(.home) main > .page-hero.news-hero {
    height: 385px !important;
    min-height: 385px !important;
  }

  body:not(.home) main > .page-hero .page-hero-inner {
    padding-top: 12px !important;
    padding-bottom: 36px !important;
  }
}

@media (max-width: 760px) {
  .home .landing-hero {
    min-height: 385px !important;
    height: 385px !important;
    display: grid !important;
    align-items: center !important;
  }

  .home .landing-hero-content {
    padding-top: 12px !important;
    padding-bottom: 36px !important;
    transform: none !important;
  }
}

@media (max-width: 760px) {
  .solutions-page .page-hero .page-hero-inner,
  body.solutions-page main > .page-hero .page-hero-inner {
    padding-top: 0 !important;
    padding-bottom: 52px !important;
  }
}

@media (max-width: 760px) {
  .solutions-page .page-hero,
  body.solutions-page main > .page-hero {
    align-items: center !important;
  }

  .solutions-page .page-hero .page-hero-inner,
  body.solutions-page main > .page-hero .page-hero-inner {
    padding-top: 0 !important;
    padding-bottom: 80px !important;
  }
}

@media (max-width: 760px) {
  .solutions-page .page-hero,
  body.solutions-page main > .page-hero {
    align-items: end !important;
  }

  .solutions-page .page-hero .page-hero-inner,
  body.solutions-page main > .page-hero .page-hero-inner {
    padding-top: 12px !important;
    padding-bottom: 36px !important;
  }
}

@media (min-width: 761px) {
  .solutions-page main > .page-hero,
  body.solutions-page main > .page-hero {
    align-items: end !important;
  }

  .solutions-page main > .page-hero .page-hero-inner,
  body.solutions-page main > .page-hero .page-hero-inner {
    padding-bottom: 112px !important;
  }
}

@media (min-width: 761px) {
  body:not(.home) main > .page-hero,
  body:not(.home) main > .page-hero.has-image,
  body:not(.home) main > .page-hero.contact-hero,
  body:not(.home) main > .page-hero.news-hero,
  body.solutions-page main > .page-hero {
    height: 430px !important;
    min-height: 430px !important;
    display: flex !important;
    align-items: flex-start !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body:not(.home) main > .page-hero .page-hero-inner,
  body.solutions-page main > .page-hero .page-hero-inner {
    padding-top: 108px !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
  }
}

@media (max-width: 760px) {
  body:not(.home) main > .page-hero,
  body:not(.home) main > .page-hero.has-image,
  body:not(.home) main > .page-hero.contact-hero,
  body:not(.home) main > .page-hero.news-hero,
  body.solutions-page main > .page-hero {
    height: 385px !important;
    min-height: 385px !important;
    display: flex !important;
    align-items: flex-start !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body:not(.home) main > .page-hero .page-hero-inner,
  body.solutions-page main > .page-hero .page-hero-inner {
    padding-top: 62px !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
  }

  body:not(.home) main > .page-hero h1,
  body.solutions-page main > .page-hero h1 {
    margin-top: 0 !important;
  }
}

.solutions-page #project-overview {
  padding-bottom: 42px !important;
}

.solutions-page #project-overview + .contact-band {
  padding-top: 26px !important;
}

@media (max-width: 760px) {
  .solutions-page #project-overview {
    padding-bottom: 34px !important;
  }

  .solutions-page #project-overview + .contact-band {
    padding-top: 22px !important;
  }
}

html {
  scroll-padding-top: 96px;
}

#products {
  scroll-margin-top: 96px;
}

.solutions-page #project-overview {
  padding-bottom: 10px !important;
}

.solutions-page #project-overview + .contact-band {
  padding-top: 10px !important;
}

.solutions-page #project-overview .container {
  margin-bottom: 0 !important;
}

@media (max-width: 760px) {
  html {
    scroll-padding-top: 78px;
  }

  #products {
    scroll-margin-top: 78px;
  }

  .solutions-page #project-overview {
    padding-bottom: 8px !important;
  }

  .solutions-page #project-overview + .contact-band {
    padding-top: 8px !important;
  }
}

.solutions-page #project-overview {
  padding-bottom: 0 !important;
}

.solutions-page #project-overview + .contact-band {
  padding-top: 0 !important;
  margin-top: -8px !important;
}

@media (max-width: 760px) {
  .home .landing-hero::before {
    background:
      linear-gradient(180deg,
        rgba(191,230,244,.98) 0%,
        rgba(191,230,244,.94) 44%,
        rgba(191,230,244,.70) 68%,
        rgba(191,230,244,.20) 100%) !important;
  }

  .home .landing-hero-content {
    position: relative !important;
    z-index: 2 !important;
    max-width: 92vw !important;
    padding-top: 26px !important;
    padding-bottom: 210px !important;
  }

  .home .landing-hero h1,
  .home .landing-hero .lead {
    text-shadow: 0 1px 12px rgba(255,255,255,.30);
  }

  .home .landing-hero .lead {
    max-width: 31ch !important;
  }

  .home .landing-hero-bg {
    object-position: 62% bottom !important;
  }
}

@media (max-width: 760px) {
  body:not(.home) main > .page-hero,
  body:not(.home) main > .page-hero.has-image,
  body:not(.home) main > .page-hero.contact-hero,
  body:not(.home) main > .page-hero.news-hero {
    display: flex !important;
    align-items: center !important;
  }

  body:not(.home) main > .page-hero .page-hero-inner,
  body.solutions-page main > .page-hero .page-hero-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body:not(.home) main > .page-hero h1,
  body.solutions-page main > .page-hero h1 {
    margin-top: 0 !important;
  }
}

@media (max-width: 760px) {
  .home .landing-hero {
    min-height: 640px !important;
    height: auto !important;
    align-items: start !important;
  }

  .home .landing-hero::before {
    background:
      linear-gradient(180deg,
        rgba(191,230,244,1) 0%,
        rgba(191,230,244,.98) 50%,
        rgba(191,230,244,.86) 72%,
        rgba(191,230,244,.25) 100%) !important;
  }

  .home .landing-hero-content {
    padding-top: 46px !important;
    padding-bottom: 330px !important;
    max-width: 94vw !important;
  }

  .home .landing-hero h1 {
    max-width: 12ch !important;
  }

  .home .landing-hero .lead {
    max-width: 32ch !important;
  }

  .home .landing-hero-bg {
    object-position: 62% bottom !important;
  }
}

@media (max-width: 420px) {
  .home .landing-hero {
    min-height: 610px !important;
  }

  .home .landing-hero-content {
    padding-top: 38px !important;
    padding-bottom: 300px !important;
  }
}

body:not(.home) main > .page-hero + .section {
  padding-top: 64px !important;
}

@media (max-width: 760px) {
  body:not(.home) main > .page-hero + .section {
    padding-top: 42px !important;
  }
}

.technology-page .technology-cards {
  margin-top: 42px;
}

.technology-page .technology-cards .card {
  min-height: 220px;
}

.technology-page .technology-quality {
  padding-top: 72px;
  padding-bottom: 72px;
}

@media (max-width: 760px) {
  .technology-page .technology-cards {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }
}

.nav-links {
  gap: clamp(18px, 2.3vw, 34px) !important;
}

.project-overview-redesign {
  position: relative;
  overflow: hidden;
  padding-top: 72px !important;
  padding-bottom: 32px !important;
  background:
    radial-gradient(circle at 82% 14%, rgba(159, 226, 191, .20), transparent 32%),
    linear-gradient(135deg, #06231b 0%, #0b3428 54%, #111611 100%) !important;
}

.project-overview-redesign::before {
  content: "";
  position: absolute;
  inset: auto -120px -220px auto;
  width: 420px;
  height: 420px;
  border-radius: 999px;
  background: rgba(159, 226, 191, .08);
  pointer-events: none;
}

.project-overview-panel {
  position: relative;
  z-index: 1;
}

.project-overview-copy {
  max-width: 860px;
  margin-bottom: 34px;
}

.project-overview-copy .eyebrow {
  color: #9fe2bf !important;
}

.project-overview-copy h2 {
  color: #ffffff;
  max-width: 720px;
}

.project-overview-copy .lead {
  color: rgba(255,255,255,.76) !important;
  max-width: 780px;
  margin-top: 22px;
}

.project-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.project-overview-grid article {
  min-height: 220px;
  padding: 24px 22px;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.15);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 20px 48px rgba(0,0,0,.18);
}

.project-overview-grid span {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  border-radius: 999px;
  background: #ffffff;
  color: #0b3428;
  font-weight: 900;
  font-size: 13px;
  box-shadow: 0 0 0 7px rgba(255,255,255,.08);
}

.project-overview-grid h3 {
  color: #ffffff;
  font-size: 20px;
  margin-bottom: 10px;
}

.project-overview-grid p {
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.52;
}

.project-overview-redesign + .contact-band {
  padding-top: 18px !important;
}

@media (max-width: 960px) {
  .project-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .project-overview-grid article {
    min-height: 190px;
  }
}

@media (max-width: 640px) {
  .project-overview-redesign {
    padding-top: 52px !important;
    padding-bottom: 24px !important;
  }

  .project-overview-copy {
    margin-bottom: 24px;
  }

  .project-overview-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .project-overview-grid article {
    min-height: 0;
    padding: 20px;
  }

  .project-overview-grid span {
    margin-bottom: 14px;
  }

  .project-overview-redesign + .contact-band {
    padding-top: 12px !important;
  }
}

.project-overview-redesign {
  margin-top: 0 !important;
  padding-top: 84px !important;
  padding-bottom: 48px !important;
  background:
    linear-gradient(180deg, #08241d 0%, #0b3025 18%, #123d2f 100%) !important;
  border-top: 1px solid rgba(255,255,255,.12);
}

.project-overview-redesign::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 46px;
  background: linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,0));
  pointer-events: none;
}

.project-overview-panel {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(34px, 5vw, 68px);
  align-items: center;
}

.project-overview-copy {
  margin-bottom: 0 !important;
}

.project-overview-copy h2 {
  font-size: clamp(40px, 5vw, 68px) !important;
}

.project-overview-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.project-overview-grid article {
  min-height: 178px !important;
  padding: 22px !important;
}

.project-overview-grid span {
  margin-bottom: 14px !important;
}

.project-overview-redesign + .contact-band {
  padding-top: 14px !important;
}

@media (max-width: 900px) {
  .project-overview-panel {
    grid-template-columns: 1fr;
  }

  .project-overview-copy {
    max-width: 780px;
  }
}

@media (max-width: 640px) {
  .project-overview-redesign {
    padding-top: 58px !important;
    padding-bottom: 32px !important;
  }

  .project-overview-grid {
    grid-template-columns: 1fr !important;
  }

  .project-overview-copy h2 {
    font-size: clamp(34px, 10vw, 46px) !important;
  }
}

.project-overview-redesign {
  padding-top: 52px !important;
  padding-bottom: 52px !important;
}

.project-overview-panel {
  align-items: center !important;
}

.project-overview-copy h2 {
  font-size: clamp(40px, 4.7vw, 62px) !important;
}

.project-overview-copy .lead {
  line-height: 1.58 !important;
}

.project-overview-grid article {
  min-height: 168px !important;
}

@media (min-width: 901px) {
  .project-overview-redesign {
    min-height: auto !important;
  }
}

@media (max-width: 640px) {
  .project-overview-redesign {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
}

.sourcing-principles-redesign {
  background:
    radial-gradient(circle at 88% 12%, rgba(11,79,54,.08), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #fbfbf8 100%) !important;
  padding-top: 76px !important;
  padding-bottom: 76px !important;
}

.sourcing-principles-grid {
  gap: clamp(30px, 5vw, 64px) !important;
  align-items: stretch !important;
}

.sourcing-principles-grid > div:first-child {
  padding: clamp(32px, 4vw, 50px) !important;
  border-radius: 34px !important;
  background:
    linear-gradient(135deg, #ffffff 0%, #f7fbff 100%) !important;
  border: 1px solid rgba(25,27,24,.10) !important;
  box-shadow: 0 26px 68px rgba(17,22,17,.09) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sourcing-principles-grid > div:first-child h2 {
  max-width: 11ch;
}

.sourcing-principles-grid > div:first-child .lead {
  max-width: 620px;
  font-size: 17px !important;
  line-height: 1.66 !important;
}

.sourcing-principles-grid .check-list {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 12px !important;
}

.sourcing-principles-grid .check {
  position: relative;
  padding: 18px 20px 18px 56px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(25,27,24,.10) !important;
  box-shadow: 0 16px 38px rgba(17,22,17,.065) !important;
  color: var(--ink) !important;
  font-weight: 720;
  line-height: 1.45;
}

.sourcing-principles-grid .check::before {
  content: "";
  position: absolute;
  left: 22px;
  top: 22px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--forest);
  box-shadow: 0 0 0 7px rgba(11,79,54,.10);
}

@media (max-width: 760px) {
  .sourcing-principles-redesign {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  .sourcing-principles-grid > div:first-child {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .sourcing-principles-grid > div:first-child h2 {
    max-width: none;
  }

  .sourcing-principles-grid .check {
    padding: 16px 16px 16px 48px !important;
  }

  .sourcing-principles-grid .check::before {
    left: 19px;
    top: 21px;
  }
}

.project-overview-redesign {
  padding-bottom: 86px !important;
}

.solutions-page .project-overview-redesign + .contact-band {
  position: relative;
  padding-top: 0 !important;
  padding-bottom: 72px !important;
  margin-top: 0 !important;
  background:
    linear-gradient(180deg, #123d2f 0%, #0b3025 44%, #06231b 100%) !important;
  color: #ffffff !important;
}

.solutions-page .project-overview-redesign + .contact-band::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -44px;
  height: 44px;
  background: linear-gradient(180deg, rgba(18,61,47,0), #123d2f);
  pointer-events: none;
}

.solutions-page .project-overview-redesign + .contact-band .contact-band-inner {
  max-width: 1120px;
  padding: 30px 34px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 88% 18%, rgba(159,226,191,.18), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 26px 70px rgba(0,0,0,.22);
}

.solutions-page .project-overview-redesign + .contact-band h3 {
  color: #ffffff !important;
  font-size: clamp(28px, 3vw, 42px);
  letter-spacing: -.04em;
}

.solutions-page .project-overview-redesign + .contact-band p {
  color: rgba(255,255,255,.72) !important;
  max-width: 680px;
}

.solutions-page .project-overview-redesign + .contact-band .btn-light {
  background: #ffffff !important;
  color: #0b3025 !important;
  border-color: #ffffff !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.18);
}

.solutions-page .project-overview-redesign + .contact-band .btn-light:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 42px rgba(0,0,0,.24);
}

@media (max-width: 760px) {
  .project-overview-redesign {
    padding-bottom: 58px !important;
  }

  .solutions-page .project-overview-redesign + .contact-band {
    padding-bottom: 50px !important;
  }

  .solutions-page .project-overview-redesign + .contact-band .contact-band-inner {
    padding: 24px;
    border-radius: 22px;
    align-items: stretch;
  }

  .solutions-page .project-overview-redesign + .contact-band .btn-light {
    width: 100%;
  }
}

.project-overview-redesign{
  padding-bottom:140px !important;
}

.solutions-page .contact-band{
  background:#061b15 !important;
  padding-top:0 !important;
  padding-bottom:90px !important;
}

.solutions-page .contact-band .contact-band-inner{
  max-width:1000px !important;
  margin:0 auto !important;
  background:#ffffff !important;
  color:#111 !important;
  border-radius:32px !important;
  padding:42px !important;
  box-shadow:0 30px 80px rgba(0,0,0,.25) !important;
}

.solutions-page .contact-band h3,
.solutions-page .contact-band p{
  color:#111 !important;
}

.solutions-page .contact-band .btn,
.solutions-page .contact-band .btn-light{
  background:#0b4f36 !important;
  color:#fff !important;
  border-color:#0b4f36 !important;
}

@media (max-width:760px){
  .project-overview-redesign{
    padding-bottom:90px !important;
  }
}

.solutions-page .solutions-project-finish {
  position: relative;
  overflow: hidden;
  padding-top: 76px !important;
  padding-bottom: 86px !important;
  background:
    radial-gradient(circle at 88% 34%, rgba(120,220,175,.13), transparent 34%),
    linear-gradient(180deg, #08241d 0%, #0b3025 44%, #061b15 100%) !important;
  color: #ffffff;
}

.solutions-page .solutions-project-finish::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: rgba(255,255,255,.12);
}

.solutions-page .project-finish-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(36px, 5vw, 72px);
  align-items: center;
}

.solutions-page .project-finish-copy .eyebrow {
  color: #9fe2bf !important;
}

.solutions-page .project-finish-copy h2 {
  max-width: 760px;
  color: #ffffff;
  font-size: clamp(42px, 5.2vw, 68px);
  line-height: 1.02;
}

.solutions-page .project-finish-copy .lead {
  max-width: 760px;
  margin-top: 24px;
  color: rgba(255,255,255,.76) !important;
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.62;
}

.solutions-page .project-finish-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.solutions-page .project-finish-cards article {
  min-height: 180px;
  padding: 24px;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.115), rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 20px 48px rgba(0,0,0,.14);
}

.solutions-page .project-finish-cards span {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  border-radius: 999px;
  background: #ffffff;
  color: #0b3025;
  font-weight: 900;
  box-shadow: 0 0 0 7px rgba(255,255,255,.08);
}

.solutions-page .project-finish-cards h3 {
  color: #ffffff;
  font-size: 20px;
  margin-bottom: 10px;
}

.solutions-page .project-finish-cards p {
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.52;
}

.solutions-page .project-finish-cta {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 58px;
  padding: 30px 34px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 88% 18%, rgba(159,226,191,.16), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 24px 58px rgba(0,0,0,.18);
}

.solutions-page .project-finish-cta h3 {
  color: #ffffff;
  font-size: clamp(26px, 2.8vw, 38px);
  margin-bottom: 8px;
}

.solutions-page .project-finish-cta p {
  color: rgba(255,255,255,.72);
}

.solutions-page .project-finish-cta .btn-light {
  background: #ffffff !important;
  color: #0b3025 !important;
  border-color: #ffffff !important;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .solutions-page .project-finish-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .solutions-page .solutions-project-finish {
    padding-top: 54px !important;
    padding-bottom: 58px !important;
  }

  .solutions-page .project-finish-cards {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .solutions-page .project-finish-cards article {
    min-height: 0;
    padding: 20px;
  }

  .solutions-page .project-finish-cta {
    margin-top: 34px;
    padding: 24px;
    flex-direction: column;
    align-items: stretch;
    border-radius: 22px;
  }

  .solutions-page .project-finish-cta .btn-light {
    width: 100%;
  }
}

.solutions-page .project-finish-cta {
  margin-top: 30px !important;
}

.solutions-page .solutions-project-finish {
  padding-bottom: 112px !important;
}

.sourcing-principles-redesign {
  padding-top: 58px !important;
  padding-bottom: 58px !important;
}

.sourcing-principles-grid {
  align-items: center !important;
  gap: clamp(26px, 4vw, 46px) !important;
}

.sourcing-principles-grid > div:first-child {
  padding: clamp(26px, 3.2vw, 38px) !important;
  justify-content: center !important;
}

.sourcing-principles-grid > div:first-child h2 {
  max-width: 13ch !important;
  font-size: clamp(42px, 4.8vw, 68px) !important;
  line-height: 1.02 !important;
}

.sourcing-principles-grid > div:first-child .lead {
  margin-top: 22px !important;
  font-size: 16px !important;
  line-height: 1.56 !important;
  max-width: 600px !important;
}

.sourcing-principles-grid .check-list {
  gap: 10px !important;
  align-content: center !important;
}

.sourcing-principles-grid .check {
  min-height: 0 !important;
  padding: 14px 18px 14px 52px !important;
  border-radius: 16px !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}

.sourcing-principles-grid .check::before {
  left: 20px !important;
  top: 18px !important;
  width: 10px !important;
  height: 10px !important;
  box-shadow: 0 0 0 6px rgba(11,79,54,.10) !important;
}

@media (min-width: 900px) {
  .sourcing-principles-grid {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
  }
}

@media (max-width: 760px) {
  .solutions-page .project-finish-cta {
    margin-top: 24px !important;
  }

  .solutions-page .solutions-project-finish {
    padding-bottom: 76px !important;
  }

  .sourcing-principles-redesign {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .sourcing-principles-grid > div:first-child {
    padding: 22px !important;
  }

  .sourcing-principles-grid > div:first-child h2 {
    max-width: none !important;
    font-size: clamp(34px, 9vw, 44px) !important;
  }

  .sourcing-principles-grid .check {
    padding: 14px 16px 14px 46px !important;
  }

  .sourcing-principles-grid .check::before {
    left: 18px !important;
    top: 19px !important;
  }
}

.solutions-page .solutions-project-finish {
  padding-top: 72px !important;
  padding-bottom: 150px !important;
  background:
    radial-gradient(circle at 88% 34%, rgba(120,220,175,.13), transparent 34%),
    linear-gradient(180deg, #08241d 0%, #0b3025 38%, #061b15 82%, #061b15 100%) !important;
}

.solutions-page .project-finish-cta {
  margin-top: 34px !important;
}

.sustainability-sourcing-clean {
  background:
    radial-gradient(circle at 88% 18%, rgba(11,79,54,.08), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #fbfbf8 100%) !important;
  padding-top: 66px !important;
  padding-bottom: 66px !important;
}

.sourcing-clean-shell {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(32px, 5vw, 70px);
  align-items: center;
}

.sourcing-clean-copy {
  max-width: 650px;
}

.sourcing-clean-copy h2 {
  max-width: 12ch;
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1.02;
  letter-spacing: -.055em;
  margin-top: 12px;
}

.sourcing-clean-copy .lead {
  margin-top: 22px;
  max-width: 620px;
  font-size: 17px;
  line-height: 1.62;
  color: var(--muted);
}

.sourcing-clean-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.sourcing-clean-cards article {
  min-height: 178px;
  padding: 22px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(25,27,24,.10);
  box-shadow: 0 18px 46px rgba(17,22,17,.075);
}

.sourcing-clean-cards span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: rgba(11,79,54,.09);
  color: var(--forest-dark);
  font-size: 12px;
  font-weight: 900;
}

.sourcing-clean-cards h3 {
  font-size: 20px;
  line-height: 1.15;
  margin-bottom: 9px;
  color: var(--ink);
}

.sourcing-clean-cards p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.sustainability-sourcing-clean + .section-dark {
  padding-top: 70px !important;
}

@media (max-width: 900px) {
  .sourcing-clean-shell {
    grid-template-columns: 1fr;
  }

  .sourcing-clean-copy h2 {
    max-width: 14ch;
  }
}

@media (max-width: 640px) {
  .solutions-page .solutions-project-finish {
    padding-top: 54px !important;
    padding-bottom: 92px !important;
  }

  .solutions-page .project-finish-cta {
    margin-top: 28px !important;
  }

  .sustainability-sourcing-clean {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .sourcing-clean-copy h2 {
    max-width: none;
    font-size: clamp(34px, 9vw, 44px);
  }

  .sourcing-clean-copy .lead {
    font-size: 16px;
  }

  .sourcing-clean-cards {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .sourcing-clean-cards article {
    min-height: 0;
    padding: 18px;
  }

  .sustainability-sourcing-clean + .section-dark {
    padding-top: 52px !important;
  }
}

.solutions-page main {
  background: #061b15 !important;
}

.solutions-footer-spacer {
  display: block !important;
  height: 96px !important;
  min-height: 96px !important;
  background: #061b15 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.solutions-page .solutions-project-finish {
  padding-bottom: 44px !important;
  margin-bottom: 0 !important;
}

.sustainability-page main > .section,
.sustainability-page .section {
  padding-top: 54px !important;
  padding-bottom: 54px !important;
}

.sustainability-page .sustainability-sourcing-clean {
  padding-top: 52px !important;
  padding-bottom: 48px !important;
}

.sustainability-page .section-dark {
  padding-top: 56px !important;
  padding-bottom: 58px !important;
}

.sustainability-page .sustainability-contact-merge {
  padding-top: 58px !important;
  padding-bottom: 66px !important;
}

@media (max-width: 760px) {
  .solutions-footer-spacer {
    height: 64px !important;
    min-height: 64px !important;
  }

  .solutions-page .solutions-project-finish {
    padding-bottom: 34px !important;
  }

  .sustainability-page main > .section,
  .sustainability-page .section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .sustainability-page .sustainability-sourcing-clean {
    padding-top: 40px !important;
    padding-bottom: 38px !important;
  }

  .sustainability-page .section-dark {
    padding-top: 42px !important;
    padding-bottom: 44px !important;
  }

  .sustainability-page .sustainability-contact-merge {
    padding-top: 44px !important;
    padding-bottom: 52px !important;
  }
}

.solutions-footer-spacer {
  height: 52px !important;
  min-height: 52px !important;
}

.solutions-page .solutions-project-finish {
  padding-bottom: 34px !important;
}

.about-page .about-company-section .refined-intro-grid {
  min-height: 450px !important;
}

.about-page .about-company-section .refined-intro-grid > div:first-child h2 {
  font-size: clamp(38px, 4.3vw, 58px) !important;
  line-height: 1.03 !important;
  max-width: 12.5ch !important;
}

.about-page .about-company-section .refined-intro-grid > div:first-child {
  padding: clamp(28px, 3.8vw, 44px) !important;
}

.about-page .about-company-section {
  padding-top: 68px !important;
  padding-bottom: 68px !important;
}

@media (max-width: 760px) {
  .solutions-footer-spacer {
    height: 38px !important;
    min-height: 38px !important;
  }

  .solutions-page .solutions-project-finish {
    padding-bottom: 28px !important;
  }

  .about-page .about-company-section .refined-intro-grid {
    min-height: 0 !important;
  }

  .about-page .about-company-section .refined-intro-grid > div:first-child h2 {
    font-size: clamp(32px, 8.6vw, 42px) !important;
    max-width: none !important;
  }

  .about-page .about-company-section {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
}

.about-page .about-partnerships-section {
  padding-top: 10px !important;
  padding-bottom: 36px !important;
}

.about-page .about-partnerships-section .panel.panel-dark {
  border-radius: 24px !important;
}

.about-page .about-partnerships-section .panel-content {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  min-height: 0 !important;
}

.about-page .about-partnerships-section h2 {
  font-size: clamp(30px, 3.3vw, 44px) !important;
  line-height: 1.08 !important;
}

.about-page .about-partnerships-section .lead {
  font-size: 16px !important;
  line-height: 1.48 !important;
  margin-bottom: 14px !important;
}

.about-page .about-partnerships-section .btns {
  margin-top: 14px !important;
}

@media (max-width: 760px) {
  .about-page .about-partnerships-section {
    padding-top: 8px !important;
    padding-bottom: 28px !important;
  }

  .about-page .about-partnerships-section .panel-content {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .about-page .about-partnerships-section h2 {
    font-size: clamp(28px, 8vw, 36px) !important;
  }
}

.news-hero.has-image,
.contact-hero.has-image {
  position: relative;
  overflow: hidden;
  color: #ffffff !important;
}

.news-hero.has-image .hero-bg,
.contact-hero.has-image .hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-hero.has-image::after,
.contact-hero.has-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6, 40, 31, .84) 0%, rgba(6, 40, 31, .58) 46%, rgba(6, 40, 31, .20) 100%);
  pointer-events: none;
}

.news-hero.has-image .page-hero-inner,
.contact-hero.has-image .page-hero-inner {
  position: relative;
  z-index: 1;
}

.news-hero.has-image .lead,
.contact-hero.has-image .lead {
  color: rgba(255,255,255,.78) !important;
}

.news-hero.has-image .eyebrow,
.contact-hero.has-image .eyebrow {
  color: #bfe8d4 !important;
}

.contact-hero {
  background:
    radial-gradient(circle at 78% 18%, rgba(31,107,79,.20), transparent 34%),
    linear-gradient(135deg, #0f2f26 0%, #123d2f 46%, #edf5ff 46.2%, #f7fbff 100%) !important;
}

.technology-hero.has-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6,40,31,.88) 0%, rgba(6,40,31,.62) 42%, rgba(6,40,31,.18) 100%);
  pointer-events: none;
}

.technology-hero.has-image .page-hero-inner {
  position: relative;
  z-index: 1;
}

.technology-hero.has-image .lead {
  color: rgba(255,255,255,.78) !important;
}

.technology-platform-section {
  background:
    radial-gradient(circle at 88% 14%, rgba(11,79,54,.08), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #fbfbf8 100%) !important;
}

.technology-platform-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(34px, 5vw, 70px);
  align-items: center;
}

.technology-platform-copy h2 {
  max-width: 11ch;
}

.technology-platform-copy .lead {
  margin-top: 22px;
  max-width: 620px;
}

.technology-platform-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.technology-platform-cards article {
  min-height: 190px;
  padding: 22px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(25,27,24,.10);
  box-shadow: 0 18px 46px rgba(17,22,17,.075);
}

.technology-platform-cards span,
.technology-process-flow span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: rgba(11,79,54,.09);
  color: var(--forest-dark);
  font-size: 12px;
  font-weight: 900;
}

.technology-platform-cards h3 {
  font-size: 20px;
  margin-bottom: 9px;
}

.technology-platform-cards p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.technology-performance-section {
  background:
    radial-gradient(circle at 12% 16%, rgba(159,226,191,.12), transparent 32%),
    linear-gradient(135deg, #06231b 0%, #0b3025 58%, #111611 100%);
  color: #ffffff;
}

.technology-performance-panel {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(28px, 4.5vw, 58px);
  align-items: center;
}

.technology-performance-intro .eyebrow {
  color: #9fe2bf !important;
}

.technology-performance-intro h2 {
  color: #ffffff;
  font-size: clamp(36px, 4.4vw, 60px);
}

.technology-performance-intro .lead {
  color: rgba(255,255,255,.74);
  margin-top: 20px;
}

.technology-proof-card {
  margin-top: 28px;
  padding: 20px;
  border-radius: 20px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
}

.technology-proof-card strong,
.technology-proof-card span {
  display: block;
}

.technology-proof-card strong {
  color: #ffffff;
  margin-bottom: 6px;
}

.technology-proof-card span {
  color: rgba(255,255,255,.70);
  font-size: 14px;
  line-height: 1.5;
}

.technology-chart-card {
  padding: clamp(22px, 3vw, 34px);
  border-radius: 30px;
  background: #ffffff;
  color: var(--ink);
  box-shadow: 0 28px 80px rgba(0,0,0,.26);
}

.technology-chart-heading {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: start;
  margin-bottom: 18px;
}

.technology-chart-heading h3 {
  font-size: clamp(24px, 2.6vw, 34px);
}

.technology-chart-heading p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
  text-align: right;
}

.technology-trend-svg {
  width: 100%;
  height: auto;
  display: block;
}

.technology-trend-svg .chart-bg {
  fill: #fbfbf8;
}

.technology-trend-svg .chart-grid {
  stroke: rgba(25,27,24,.11);
  stroke-width: 1;
}

.technology-trend-svg .chart-axis {
  stroke: rgba(25,27,24,.28);
  stroke-width: 1.5;
}

.technology-trend-svg .chart-area {
  fill: rgba(11,79,54,.10);
}

.technology-trend-svg .chart-line {
  fill: none;
  stroke: #0b4f36;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.technology-trend-svg .chart-dot {
  fill: #0b4f36;
  stroke: #ffffff;
  stroke-width: 2;
}

.technology-trend-svg .chart-years text {
  fill: #626861;
  font-size: 13px;
  font-weight: 650;
}

.technology-process-section {
  background:
    radial-gradient(circle at 82% 12%, rgba(214,234,223,.10), transparent 34%),
    linear-gradient(135deg, #071f19 0%, #0b3025 52%, #0f3d2f 100%) !important;
}

.technology-process-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-top: 42px;
}

.technology-process-flow article {
  padding: 22px 18px;
  border-radius: 20px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
}

.technology-process-flow span {
  background: #ffffff;
  color: #0b3025;
}

.technology-process-flow h3 {
  color: #ffffff;
  font-size: 18px;
  margin-bottom: 8px;
}

.technology-process-flow p {
  color: rgba(255,255,255,.72);
  font-size: 13.5px;
  line-height: 1.48;
}

.technology-assurance-section .refined-copy .lead {
  margin-top: 22px;
}

@media (max-width: 960px) {
  .technology-platform-grid,
  .technology-performance-panel {
    grid-template-columns: 1fr;
  }

  .technology-process-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .technology-process-flow article:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .technology-platform-cards,
  .technology-process-flow {
    grid-template-columns: 1fr;
  }

  .technology-platform-cards article,
  .technology-process-flow article {
    min-height: 0;
  }

  .technology-chart-card {
    border-radius: 22px;
    padding: 18px;
  }

  .technology-chart-heading {
    display: block;
  }

  .technology-chart-heading p {
    text-align: left;
    margin-top: 6px;
  }

  .technology-trend-svg .chart-years text {
    font-size: 11px;
  }
}

.technology-lab-hero {
  position: relative;
  overflow: hidden;
  min-height: 620px;
  display: grid;
  align-items: end;
  color: #ffffff;
  background:
    linear-gradient(90deg, rgba(6, 35, 27, .96) 0%, rgba(6, 35, 27, .88) 42%, rgba(6, 35, 27, .22) 100%),
    #06231b;
}

.technology-lab-hero-image {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(90deg, rgba(6,35,27,.95), rgba(6,35,27,.60) 45%, rgba(6,35,27,.12)),
    url("../assets/images/soler/soler-biorefinery-aerial.jpg");
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}

.technology-lab-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 42px;
  align-items: end;
  padding-bottom: 76px;
}

.technology-lab-hero-copy h1 {
  max-width: 840px;
  font-size: clamp(50px, 6.4vw, 92px);
  line-height: .98;
  color: #ffffff;
}

.technology-lab-hero-copy .lead {
  max-width: 660px;
  margin-top: 24px;
  color: rgba(255,255,255,.78);
}

.technology-lab-hero-card {
  padding: 26px;
  border-radius: 28px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.20);
  box-shadow: 0 28px 76px rgba(0,0,0,.26);
  backdrop-filter: blur(12px);
}

.technology-lab-hero-card span {
  display: inline-flex;
  color: #9fe2bf;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 12px;
}

.technology-lab-hero-card strong {
  display: block;
  font-size: 24px;
  line-height: 1.1;
  margin-bottom: 12px;
}

.technology-lab-hero-card p {
  color: rgba(255,255,255,.72);
  line-height: 1.52;
}

.technology-system-map {
  padding: 82px 0;
  background: #ffffff;
}

.technology-system-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .68fr);
  gap: 40px;
  align-items: end;
  margin-bottom: 44px;
}

.technology-system-heading h2 {
  max-width: 820px;
}

.technology-system-heading p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.64;
}

.technology-system-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 70px minmax(0, 1fr) 70px minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
}

.technology-system-flow article {
  padding: 30px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 88% 14%, rgba(11,79,54,.08), transparent 30%),
    linear-gradient(180deg, #fbfbf8, #ffffff);
  border: 1px solid rgba(25,27,24,.10);
  box-shadow: 0 18px 52px rgba(17,22,17,.075);
}

.technology-system-flow article span {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  border-radius: 999px;
  background: rgba(11,79,54,.09);
  color: var(--forest-dark);
  font-weight: 900;
}

.technology-system-flow article h3 {
  font-size: 24px;
  margin-bottom: 10px;
}

.technology-system-flow article p {
  color: var(--muted);
  line-height: 1.55;
}

.technology-flow-line {
  position: relative;
}

.technology-flow-line::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 14px;
  right: 14px;
  height: 2px;
  background: rgba(11,79,54,.28);
}

.technology-flow-line::after {
  content: "›";
  position: absolute;
  left: 50%;
  top: calc(50% - 18px);
  transform: translateX(-50%);
  color: var(--forest);
  font-size: 34px;
  font-weight: 800;
}

.technology-proof-section {
  padding: 86px 0;
  background:
    radial-gradient(circle at 10% 20%, rgba(159,226,191,.11), transparent 30%),
    linear-gradient(135deg, #061f18 0%, #0b3025 55%, #111611 100%);
  color: #ffffff;
}

.technology-proof-grid {
  display: grid;
  grid-template-columns: minmax(300px, .74fr) minmax(0, 1.26fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: center;
}

.technology-proof-copy .eyebrow {
  color: #9fe2bf !important;
}

.technology-proof-copy h2 {
  color: #ffffff;
  font-size: clamp(40px, 5vw, 70px);
}

.technology-proof-copy .lead {
  color: rgba(255,255,255,.76);
  margin-top: 22px;
}

.technology-proof-points {
  display: grid;
  gap: 12px;
  margin-top: 30px;
}

.technology-proof-points div {
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
}

.technology-proof-points strong,
.technology-proof-points span {
  display: block;
}

.technology-proof-points strong {
  color: #ffffff;
  margin-bottom: 4px;
}

.technology-proof-points span {
  color: rgba(255,255,255,.70);
  font-size: 14px;
  line-height: 1.45;
}

.technology-proof-chart {
  padding: clamp(22px, 3vw, 34px);
  border-radius: 32px;
  background: #ffffff;
  color: var(--ink);
  box-shadow: 0 30px 90px rgba(0,0,0,.28);
}

.technology-proof-chart-heading {
  margin-bottom: 16px;
}

.technology-proof-chart-heading h3 {
  font-size: clamp(26px, 3vw, 38px);
}

.soler-platform-curve {
  display: block;
  width: 100%;
  height: auto;
}

.soler-platform-curve .tech-chart-bg {
  fill: #fbfbf8;
}

.soler-platform-curve .tech-chart-grid {
  stroke: rgba(25,27,24,.10);
  stroke-width: 1;
}

.soler-platform-curve .tech-chart-axis {
  stroke: rgba(25,27,24,.28);
  stroke-width: 1.4;
}

.soler-platform-curve .tech-chart-area {
  fill: rgba(11,79,54,.10);
}

.soler-platform-curve .tech-chart-line {
  fill: none;
  stroke: #0b4f36;
  stroke-width: 4.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.soler-platform-curve .tech-chart-dot {
  fill: #0b4f36;
  stroke: #ffffff;
  stroke-width: 2;
}

.soler-platform-curve .tech-chart-years text {
  fill: #626861;
  font-size: 13px;
  font-weight: 650;
}

.technology-yellow-section {
  padding: 86px 0;
  background:
    radial-gradient(circle at 18% 12%, rgba(214,161,66,.10), transparent 34%),
    #f6f1e8 !important;
}

.technology-yellow-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(34px, 5vw, 70px);
  align-items: center;
}

.technology-yellow-image {
  border-radius: 34px;
  overflow: hidden;
  box-shadow: 0 26px 70px rgba(17,22,17,.16);
  min-height: 440px;
}

.technology-yellow-image img {
  width: 100%;
  height: 100%;
  min-height: 440px;
  object-fit: cover;
  display: block;
}

.technology-yellow-copy h2 {
  max-width: 760px;
}

.technology-yellow-copy .lead {
  margin-top: 22px;
}

.technology-mini-list {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.technology-mini-list div {
  padding: 18px 20px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(25,27,24,.10);
  box-shadow: 0 14px 34px rgba(17,22,17,.06);
}

.technology-mini-list span {
  display: block;
  color: var(--forest-dark);
  font-weight: 850;
  margin-bottom: 5px;
}

.technology-mini-list p {
  color: var(--muted);
}

.technology-dark-stack {
  padding: 82px 0 92px;
  background: #111611;
  color: #ffffff;
}

.technology-dark-stack .eyebrow {
  color: #9fe2bf !important;
}

.technology-dark-stack .lead {
  color: rgba(255,255,255,.74);
}

.technology-advantage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 42px;
}

.technology-advantage-grid article {
  padding: 26px;
  border-radius: 24px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.13);
}

.technology-advantage-grid h3 {
  color: #ffffff;
  margin-bottom: 10px;
}

.technology-advantage-grid p {
  color: rgba(255,255,255,.70);
  line-height: 1.52;
}

@media (max-width: 960px) {
  .technology-lab-hero-inner,
  .technology-system-heading,
  .technology-proof-grid,
  .technology-yellow-grid {
    grid-template-columns: 1fr;
  }

  .technology-lab-hero-card {
    max-width: 520px;
  }

  .technology-system-flow {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .technology-flow-line {
    display: none;
  }

  .technology-advantage-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .technology-lab-hero {
    min-height: 620px;
  }

  .technology-lab-hero-inner {
    padding-bottom: 48px;
  }

  .technology-lab-hero-copy h1 {
    font-size: clamp(42px, 12vw, 58px);
  }

  .technology-system-map,
  .technology-proof-section,
  .technology-yellow-section,
  .technology-dark-stack {
    padding-top: 56px;
    padding-bottom: 60px;
  }

  .technology-system-flow article,
  .technology-proof-chart,
  .technology-lab-hero-card {
    border-radius: 22px;
  }

  .technology-yellow-image,
  .technology-yellow-image img {
    min-height: 280px;
  }

  .soler-platform-curve .tech-chart-years text {
    font-size: 11px;
  }
}

@media (min-width: 761px) {
  .technology-lab-hero {
    min-height: 430px !important;
    height: 430px !important;
    display: flex !important;
    align-items: flex-start !important;
  }

  .technology-lab-hero-inner {
    padding-top: 108px !important;
    padding-bottom: 0 !important;
    align-items: start !important;
  }

  .technology-lab-hero-copy h1 {
    font-size: clamp(42px, 5.5vw, 72px) !important;
    line-height: 1.04 !important;
  }

  .technology-lab-hero-card {
    align-self: start !important;
  }
}

@media (max-width: 760px) {
  .technology-lab-hero {
    min-height: 385px !important;
    height: 385px !important;
    display: flex !important;
    align-items: flex-start !important;
  }

  .technology-lab-hero-inner {
    padding-top: 62px !important;
    padding-bottom: 0 !important;
  }

  .technology-lab-hero-copy h1 {
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1.04 !important;
  }

  .technology-lab-hero-card {
    display: none !important;
  }
}

.technology-page .technology-moved-process {
  padding-top: 76px !important;
  padding-bottom: 76px !important;
  background:
    radial-gradient(circle at 82% 12%, rgba(214,234,223,.10), transparent 34%),
    linear-gradient(135deg, #071f19 0%, #0b3025 52%, #0f3d2f 100%) !important;
}

.technology-page .technology-moved-process .eyebrow {
  color: #9fe2bf !important;
}

.technology-page .technology-moved-process h2 {
  color: #ffffff !important;
}

.technology-page .technology-moved-process .lead {
  color: rgba(255,255,255,.76) !important;
}

.technology-page .technology-moved-process .process-timeline-slick {
  margin-top: 34px !important;
}

@media (max-width: 760px) {
  .technology-page .technology-moved-process {
    padding-top: 54px !important;
    padding-bottom: 58px !important;
  }
}

.technology-page .technology-moved-process {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 12%, rgba(159,226,191,.12), transparent 34%),
    linear-gradient(135deg, #071f19 0%, #0b3025 52%, #0f3d2f 100%) !important;
  color: #ffffff;
}

.technology-page .technology-moved-process > .container {
  display: block !important;
}

.technology-page .technology-moved-process > .container > div:first-child {
  max-width: 900px !important;
  margin: 0 0 40px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.technology-page .technology-moved-process .eyebrow {
  color: #9fe2bf !important;
}

.technology-page .technology-moved-process h2 {
  color: #ffffff !important;
  max-width: 760px;
}

.technology-page .technology-moved-process .lead {
  color: rgba(255,255,255,.76) !important;
  max-width: 840px;
}

@media (min-width: 900px) {
  .technology-page .technology-moved-process .process-timeline-slick {
    position: relative;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px !important;
    margin-top: 8px !important;
    padding: 42px 0 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .technology-page .technology-moved-process .process-timeline-slick::before {
    content: "";
    position: absolute;
    left: calc(10% + 18px);
    right: calc(10% + 18px);
    top: 59px;
    height: 2px;
    background: linear-gradient(90deg,
      rgba(191,232,212,.16),
      rgba(191,232,212,.82) 18%,
      rgba(191,232,212,.82) 82%,
      rgba(191,232,212,.16));
  }

  .technology-page .technology-moved-process .timeline-step {
    position: relative;
    display: grid !important;
    grid-template-rows: 50px 1fr;
    gap: 18px;
    min-width: 0;
  }

  .technology-page .technology-moved-process .timeline-marker {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
  }

  .technology-page .technology-moved-process .timeline-marker span {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ffffff !important;
    color: #0b3025 !important;
    border: 1px solid rgba(255,255,255,.88);
    box-shadow:
      0 0 0 8px rgba(255,255,255,.10),
      0 16px 30px rgba(0,0,0,.24);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .02em;
  }

  .technology-page .technology-moved-process .timeline-card {
    position: relative;
    height: 100%;
    min-height: 168px;
    padding: 22px 18px 20px;
    border-radius: 22px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.115), rgba(255,255,255,.055)) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.10),
      0 18px 40px rgba(0,0,0,.18) !important;
    transform: none !important;
  }

  .technology-page .technology-moved-process .timeline-card::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -18px;
    width: 1px;
    height: 18px;
    background: rgba(191,232,212,.52);
  }

  .technology-page .technology-moved-process .timeline-card h4 {
    color: #ffffff !important;
    font-size: 17px !important;
    line-height: 1.14 !important;
    letter-spacing: -.025em;
    margin: 0 0 10px !important;
  }

  .technology-page .technology-moved-process .timeline-card p {
    color: rgba(255,255,255,.76) !important;
    font-size: 13.5px !important;
    line-height: 1.48 !important;
    margin: 0 !important;
  }
}

@media (max-width: 899px) {
  .technology-page .technology-moved-process .process-timeline-slick {
    position: relative;
    display: grid !important;
    gap: 14px !important;
    margin-top: 26px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .technology-page .technology-moved-process .process-timeline-slick::before {
    content: "";
    position: absolute;
    left: 23px;
    top: 26px;
    bottom: 26px;
    width: 2px;
    background: linear-gradient(180deg,
      rgba(191,232,212,.16),
      rgba(191,232,212,.72) 15%,
      rgba(191,232,212,.72) 85%,
      rgba(191,232,212,.16));
  }

  .technology-page .technology-moved-process .timeline-step {
    position: relative;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
  }

  .technology-page .technology-moved-process .timeline-marker {
    position: relative;
    z-index: 2;
    padding-top: 14px;
  }

  .technology-page .technology-moved-process .timeline-marker span {
    display: inline-flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ffffff !important;
    color: #0b3025 !important;
    box-shadow:
      0 0 0 7px rgba(255,255,255,.10),
      0 12px 24px rgba(0,0,0,.22);
    font-size: 12px;
    font-weight: 900;
  }

  .technology-page .technology-moved-process .timeline-card {
    padding: 18px 18px 17px;
    border-radius: 18px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06)) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.16) !important;
  }

  .technology-page .technology-moved-process .timeline-card h4 {
    color: #ffffff !important;
    font-size: 17px !important;
    margin: 0 0 7px !important;
  }

  .technology-page .technology-moved-process .timeline-card p {
    color: rgba(255,255,255,.76) !important;
    font-size: 14px !important;
    line-height: 1.48 !important;
    margin: 0 !important;
  }
}

.technology-lab-hero .eyebrow {
  color: #9fe2bf !important;
}

.technology-lab-hero-inner {
  grid-template-columns: minmax(0, 1fr) !important;
}

.technology-lab-hero-copy {
  max-width: 900px;
}

.technology-proof-section {
  padding-top: 58px !important;
  padding-bottom: 58px !important;
}

.technology-proof-grid {
  grid-template-columns: minmax(300px, .62fr) minmax(0, 1.38fr) !important;
  gap: clamp(26px, 4vw, 54px) !important;
}

.technology-proof-copy h2 {
  font-size: clamp(36px, 4.2vw, 58px) !important;
}

.technology-proof-chart {
  padding: clamp(18px, 2.4vw, 28px) !important;
}

@media (max-width: 760px) {
  .technology-proof-section {
    padding-top: 44px !important;
    padding-bottom: 46px !important;
  }

  .technology-proof-grid {
    grid-template-columns: 1fr !important;
  }
}

.technology-performance-note {
  margin-top: 18px !important;
  max-width: 560px;
}

.technology-proof-figure-title {
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 900;
  letter-spacing: -0.035em;
  color: var(--ink);
  margin-bottom: 10px;
}

.soler-platform-curve .tech-chart-yoy-label {
  fill: #0b4f36;
  font-size: 15px;
  font-weight: 850;
  letter-spacing: .02em;
}

.technology-process-image-section {
  padding-top: 62px !important;
  padding-bottom: 68px !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(159,226,191,.12), transparent 34%),
    linear-gradient(135deg, #071f19 0%, #0b3025 52%, #111611 100%) !important;
}

.technology-process-image-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, .98fr);
  gap: clamp(30px, 4.5vw, 62px);
  align-items: center;
}

.technology-process-image-copy .eyebrow {
  color: #9fe2bf !important;
}

.technology-process-image-copy h2 {
  color: #ffffff;
  font-size: clamp(36px, 4.4vw, 62px);
  line-height: 1.03;
  max-width: 760px;
}

.technology-process-image-copy .lead {
  color: rgba(255,255,255,.74);
  margin-top: 20px;
  max-width: 700px;
}

.technology-process-image-section .technology-advantage-grid {
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 28px;
}

.technology-process-image-section .technology-advantage-grid article {
  padding: 18px 20px;
  border-radius: 18px;
}

.technology-process-image-section .technology-advantage-grid h3 {
  font-size: 18px;
  margin-bottom: 6px;
}

.technology-process-image-section .technology-advantage-grid p {
  font-size: 14px;
}

.technology-process-image-card {
  border-radius: 30px;
  overflow: hidden;
  min-height: 460px;
  box-shadow: 0 28px 82px rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.14);
}

.technology-process-image-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
}

@media (max-width: 960px) {
  .technology-process-image-grid {
    grid-template-columns: 1fr;
  }

  .technology-process-image-card,
  .technology-process-image-card img {
    min-height: 320px;
  }
}

@media (max-width: 640px) {
  .technology-process-image-section {
    padding-top: 48px !important;
    padding-bottom: 54px !important;
  }

  .technology-process-image-card,
  .technology-process-image-card img {
    min-height: 240px;
    border-radius: 22px;
  }
}

.technology-process-image-section {
  padding-top: 42px !important;
  padding-bottom: 44px !important;
}

.technology-process-image-grid {
  gap: clamp(22px, 3.4vw, 44px) !important;
}

.technology-process-image-copy h2 {
  font-size: clamp(32px, 3.9vw, 54px) !important;
  max-width: 680px !important;
}

.technology-process-image-section .technology-advantage-grid {
  margin-top: 22px !important;
  gap: 10px !important;
}

.technology-process-image-section .technology-advantage-grid article {
  padding: 15px 18px !important;
}

.technology-process-image-card,
.technology-process-image-card img {
  min-height: 360px !important;
}

.soler-platform-curve .tech-chart-yoy-label {
  fill: #0b4f36;
  font-size: 15px;
  font-weight: 850;
  letter-spacing: .02em;
}

.soler-platform-curve .tech-chart-yoy-value {
  fill: #0b4f36;
  font-size: 12px;
  font-weight: 850;
}

@media (max-width: 960px) {
  .technology-process-image-card,
  .technology-process-image-card img {
    min-height: 280px !important;
  }
}

@media (max-width: 640px) {
  .technology-process-image-section {
    padding-top: 36px !important;
    padding-bottom: 38px !important;
  }

  .technology-process-image-card,
  .technology-process-image-card img {
    min-height: 220px !important;
  }

  .soler-platform-curve .tech-chart-yoy-value {
    font-size: 10px;
  }
}

.technology-lab-hero-image {
  background-position: right center !important;
}

.technology-confidence-copy {
  margin-top: 16px !important;
  max-width: 660px !important;
  color: rgba(255,255,255,.74) !important;
}

.technology-process-image-section {
  padding-top: 30px !important;
  padding-bottom: 32px !important;
}

.technology-process-image-grid {
  gap: clamp(18px, 3vw, 34px) !important;
  align-items: center !important;
}

.technology-process-image-copy h2 {
  font-size: clamp(30px, 3.4vw, 48px) !important;
  max-width: 620px !important;
}

.technology-process-image-copy .lead {
  margin-top: 14px !important;
}

.technology-process-image-section .technology-advantage-grid {
  margin-top: 18px !important;
  gap: 8px !important;
}

.technology-process-image-section .technology-advantage-grid article {
  padding: 13px 16px !important;
}

.technology-process-image-section .technology-advantage-grid h3 {
  font-size: 17px !important;
  margin-bottom: 4px !important;
}

.technology-process-image-section .technology-advantage-grid p {
  font-size: 13.5px !important;
  line-height: 1.42 !important;
}

.technology-process-image-card {
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: 520px !important;
}

.technology-process-image-card img {
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  height: 100% !important;
  object-fit: cover !important;
}

.soler-platform-curve .tech-chart-yoy-value {
  fill: #0b4f36;
  font-size: 12px;
  font-weight: 850;
}

@media (max-width: 960px) {
  .technology-process-image-card {
    max-height: none !important;
  }
}

@media (max-width: 640px) {
  .technology-process-image-section {
    padding-top: 30px !important;
    padding-bottom: 34px !important;
  }
}

.technology-lab-hero-image {
  background-position: 100% center !important;
  background-size: auto 100% !important;
  background-repeat: no-repeat !important;
  background-color: #06231b !important;
}

.technology-lab-hero {
  background:
    linear-gradient(90deg, rgba(6,35,27,.98) 0%, rgba(6,35,27,.88) 44%, rgba(6,35,27,.34) 76%, rgba(6,35,27,.12) 100%),
    #06231b !important;
}

.technology-yellow-section {
  padding-top: 42px !important;
  padding-bottom: 42px !important;
}

.technology-yellow-grid {
  gap: clamp(20px, 3vw, 40px) !important;
  align-items: center !important;
}

.technology-yellow-image,
.technology-yellow-image img {
  min-height: 300px !important;
  max-height: 360px !important;
}

.technology-yellow-copy h2 {
  font-size: clamp(32px, 3.8vw, 52px) !important;
  line-height: 1.04 !important;
  max-width: 680px !important;
}

.technology-yellow-copy .lead {
  margin-top: 14px !important;
  font-size: 16px !important;
  line-height: 1.52 !important;
}

.technology-mini-list {
  margin-top: 18px !important;
  gap: 8px !important;
}

.technology-mini-list div {
  padding: 13px 16px !important;
}

.technology-mini-list span {
  margin-bottom: 3px !important;
}

.technology-mini-list p {
  font-size: 13.5px !important;
  line-height: 1.4 !important;
}

.technology-process-image-section {
  padding-top: 54px !important;
  padding-bottom: 60px !important;
}

.technology-process-image-section .technology-advantage-grid {
  margin-top: 26px !important;
  gap: 12px !important;
}

.technology-process-image-section .technology-advantage-grid article {
  padding: 17px 20px !important;
}

@media (max-width: 760px) {
  .technology-lab-hero-image {
    background-position: 100% center !important;
    background-size: auto 100% !important;
  }

  .technology-yellow-section {
    padding-top: 34px !important;
    padding-bottom: 36px !important;
  }

  .technology-yellow-image,
  .technology-yellow-image img {
    min-height: 220px !important;
    max-height: 260px !important;
  }

  .technology-process-image-section {
    padding-top: 46px !important;
    padding-bottom: 50px !important;
  }
}

.technology-lab-hero-image {
  background-position: center center !important;
  background-size: cover !important;
  transform: scaleX(-1) !important;
  transform-origin: center center !important;
}

.technology-lab-hero {
  background:
    linear-gradient(90deg, rgba(6,35,27,.98) 0%, rgba(6,35,27,.88) 44%, rgba(6,35,27,.34) 76%, rgba(6,35,27,.12) 100%),
    #06231b !important;
}

.technology-lab-hero-image {
  transform: scaleX(-1) !important;
  background-position: center center !important;
  background-size: cover !important;
}

.page-hero::before,
.section-hero::before,
.hero-banner::before {
  opacity: 0.82 !important;
}

.about-hero::before,
.solutions-hero::before,
.sustainability-hero::before,
.news-hero::before,
.contact-hero::before,
.technology-lab-hero::before {
  opacity: 0.82 !important;
}

.about-hero::before,
.products-hero::before,
.solutions-hero::before,
.sustainability-hero::before,
.news-hero::before,
.contact-hero::before,
.technology-lab-hero::before,
.page-hero::before,
.section-hero::before,
.hero-banner::before {
  opacity: 0.72 !important;
}

.technology-lab-hero {
  background:
    linear-gradient(
      90deg,
      rgba(6,35,27,.90) 0%,
      rgba(6,35,27,.72) 42%,
      rgba(6,35,27,.22) 76%,
      rgba(6,35,27,.06) 100%
    ) !important;
}

.technology-lab-hero {
  position: relative !important;
  background: #06231b !important;
  overflow: hidden !important;
}

.technology-lab-hero-image {
  background-image: url("../assets/images/soler/soler-biorefinery-aerial.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  transform: scaleX(-1) scale(1.02) !important;
  transform-origin: center center !important;
}

.technology-lab-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    linear-gradient(
      90deg,
      rgba(6,35,27,.88) 0%,
      rgba(6,35,27,.68) 42%,
      rgba(6,35,27,.22) 76%,
      rgba(6,35,27,.06) 100%
    ) !important;
  pointer-events: none !important;
  opacity: 1 !important;
}

.technology-lab-hero-inner {
  position: relative !important;
  z-index: 1 !important;
}

.technology-lab-hero-image::before,
.technology-lab-hero-image::after {
  content: none !important;
  display: none !important;
}

.news-hero.has-image {
  background: #06231b !important;
}

.news-hero.has-image::before {
  content: none !important;
  display: none !important;
}

.news-hero.has-image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(
      90deg,
      rgba(6,40,31,.72) 0%,
      rgba(6,40,31,.46) 48%,
      rgba(6,40,31,.14) 100%
    ) !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.news-hero.has-image .hero-bg {
  object-fit: cover !important;
  object-position: center center !important;
}

.news-hero.has-image .page-hero-inner {
  position: relative !important;
  z-index: 1 !important;
}

.technology-lab-hero-image {
  background-image: url("../assets/images/soler/soler-biorefinery-aerial.jpg") !important;
  background-size: cover !important;
  background-position: center 32% !important;
  background-repeat: no-repeat !important;
  transform: scaleX(-1) scale(1.02) !important;
  transform-origin: center center !important;
}

.technology-lab-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    linear-gradient(
      90deg,
      rgba(6, 40, 31, .72) 0%,
      rgba(6, 40, 31, .46) 48%,
      rgba(6, 40, 31, .14) 100%
    ) !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.technology-lab-hero-inner {
  position: relative !important;
  z-index: 1 !important;
}

.technology-lab-hero-image {
  background-position: center 32% !important;
  transform: scaleX(-1) scale(1.02) !important;
}

.technology-lab-hero::after {
  content: none !important;
  display: none !important;
}

.technology-lab-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  opacity: 0.72 !important;
  pointer-events: none !important;
}

.technology-lab-hero {
  position: relative !important;
  overflow: hidden !important;
  background: #06231b !important;
}

.technology-lab-hero-image {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-image: url("../assets/images/soler/soler-biorefinery-aerial.jpg") !important;
  background-size: cover !important;
  background-position: center 32% !important;
  background-repeat: no-repeat !important;
  transform: scaleX(-1) scale(1.02) !important;
  transform-origin: center center !important;
}

.technology-lab-hero::before {
  content: none !important;
  display: none !important;
}

.technology-lab-hero::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(
      90deg,
      rgba(6,40,31,.72) 0%,
      rgba(6,40,31,.46) 48%,
      rgba(6,40,31,.14) 100%
    ) !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.technology-lab-hero-inner {
  position: relative !important;
  z-index: 2 !important;
}

.technology-lab-hero + .technology-system-map {
  padding-top: 64px !important;
}

@media (max-width: 760px) {
  .technology-lab-hero + .technology-system-map {
    padding-top: 42px !important;
  }
}

.technology-lab-hero-image {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-image: url("../assets/images/soler/soler-biorefinery-aerial.jpg") !important;
  background-size: cover !important;
  background-position: center 32% !important;
  background-repeat: no-repeat !important;
  transform: scaleX(-1) scale(1.02) !important;
  transform-origin: center center !important;
}

.technology-lab-hero::before {
  content: none !important;
  display: none !important;
}

.technology-lab-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(
      90deg,
      rgba(6,40,31,.72) 0%,
      rgba(6,40,31,.46) 48%,
      rgba(6,40,31,.14) 100%
    ) !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.technology-lab-hero-inner {
  position: relative !important;
  z-index: 2 !important;
}

.technology-lab-hero-image{
  background-position:center 24% !important;
}

.technology-lab-hero::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(
      90deg,
      rgba(6,40,31,.88) 0%,
      rgba(6,40,31,.74) 38%,
      rgba(6,40,31,.48) 68%,
      rgba(6,40,31,.22) 100%
    ) !important;
  opacity:1 !important;
  display:block !important;
}

.technology-lab-hero-inner{
  position:relative !important;
  z-index:2 !important;
}

.technology-page .technology-hero.has-image {
  position: relative !important;
  overflow: hidden !important;
  color: #ffffff !important;
  background: #06231b !important;
}

.technology-page .technology-hero.has-image .hero-bg,
.technology-page .technology-hero.has-image .technology-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 24% !important;
  transform: scaleX(-1) !important;
  transform-origin: center center !important;
  z-index: 0 !important;
}

.technology-page .technology-hero.has-image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(
      90deg,
      rgba(6,40,31,.72) 0%,
      rgba(6,40,31,.46) 48%,
      rgba(6,40,31,.14) 100%
    ) !important;
  opacity: 1 !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.technology-page .technology-hero.has-image::before {
  content: none !important;
  display: none !important;
}

.technology-page .technology-hero.has-image .page-hero-inner {
  position: relative !important;
  z-index: 2 !important;
}

.technology-page .technology-hero.has-image .lead {
  color: rgba(255,255,255,.78) !important;
}

.technology-page .technology-hero.has-image .eyebrow {
  color: #bfe8d4 !important;
}

.technology-page main > .technology-hero + .technology-system-map {
  padding-top: 64px !important;
}

@media (max-width: 760px) {
  .technology-page main > .technology-hero + .technology-system-map {
    padding-top: 42px !important;
  }

  .technology-page .technology-hero.has-image .hero-bg,
  .technology-page .technology-hero.has-image .technology-hero-bg {
    object-position: center 24% !important;
  }
}

.technology-lab-hero,
.technology-lab-hero-image,
.technology-lab-hero-inner {

}

.technology-lab-hero,
.technology-lab-hero-image,
.technology-lab-hero-inner,
.technology-lab-hero-copy {
  all: unset;
}

.technology-page .technology-hero.has-image {
  position: relative !important;
  overflow: hidden !important;
}

.technology-page .technology-hero.has-image::before {
  content: none !important;
  display: none !important;
}

.technology-page .technology-hero.has-image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(6, 40, 31, .84) 0%, rgba(6, 40, 31, .58) 46%, rgba(6, 40, 31, .20) 100%) !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.technology-page .technology-hero.has-image .hero-bg,
.technology-page .technology-hero.has-image .technology-hero-bg {
  transform: scaleX(-1) !important;
  object-position: center 24% !important;
}

.technology-page .technology-hero.has-image .page-hero-inner {
  position: relative !important;
  z-index: 1 !important;
}

.technology-page main > .technology-hero + .technology-system-map {
  padding-top: 64px !important;
}

@media (max-width: 760px) {
  .technology-page main > .technology-hero + .technology-system-map {
    padding-top: 42px !important;
  }

  .technology-page .technology-hero.has-image .hero-bg,
  .technology-page .technology-hero.has-image .technology-hero-bg {
    object-position: center 24% !important;
  }
}

.technology-page .technology-hero.has-image::after {
  z-index: 1 !important;
}

.technology-page .technology-hero.has-image .page-hero-inner,
.technology-page .technology-hero.has-image .eyebrow,
.technology-page .technology-hero.has-image h1,
.technology-page .technology-hero.has-image .lead {
  position: relative !important;
  z-index: 3 !important;
}

.technology-page .technology-hero.has-image .hero-bg,
.technology-page .technology-hero.has-image .technology-hero-bg {
  z-index: 0 !important;
}


/* V5.8x: homepage hero image update */
.home .landing-hero-bg {
  object-position: center center !important;
}


/* V5.8y: URL cleanup, homepage crop and stronger search logo metadata */
.home .landing-hero-bg {
  object-position: center 72% !important;
}

@media (max-width: 760px) {
  .home .landing-hero-bg {
    object-position: center 76% !important;
  }
}


/* V5.8z: homepage image crop correction and lower image replacement */

/* Reverse previous crop direction on homepage hero */
.home .landing-hero-bg {
  object-position: center 28% !important;
}

@media (max-width: 760px) {
  .home .landing-hero-bg {
    object-position: center 24% !important;
  }
}

/* Keep lower homepage image cleanly framed */
.home .image-card img[src*="home-woodchips-blue-sky"] {
  object-position: center center !important;
}


/* V5.8aa image positioning refinements */

/* Home hero: show much more of lower part of barge image */
.home .landing-hero-bg{
  object-position:center 88% !important;
}
@media (max-width:760px){
  .home .landing-hero-bg{
    object-position:center 90% !important;
  }
}

/* Lower homepage image: shift image upward within crop */
.home img[src*="home-woodchips-blue-sky.jpg"]{
  object-position:center 20% !important;
}


/* V5.8ab - force visible image position updates */

/* Home hero: move image significantly lower in frame */
.landing-hero img,
.home .landing-hero img,
.home .landing-hero-bg{
  object-position:center 100% !important;
}

/* Bottom home image: taller section and image shifted upward */
.home img[src*="home-woodchips-blue-sky"]{
  object-position:center 8% !important;
}

.home .image-card,
.home .project-image,
.home .feature-image{
  min-height:560px !important;
}

.home .image-card img,
.home .project-image img,
.home .feature-image img{
  height:560px !important;
  object-fit:cover !important;
}


/* V5.8ac: direct image crop fixes */
.home .landing-hero-bg {
  object-position: center 12% !important;
}

.home .project-image.home-project-image-tall,
.home .project-image.home-project-image-tall img {
  min-height: 380px !important;
  height: 380px !important;
}

.home .project-image.home-project-image-tall img {
  object-fit: cover !important;
  object-position: center 0% !important;
}

.sustainability-page .page-hero.has-image .hero-bg,
body .page-hero.has-image img[src*="sustainability-residue-feedstock"] {
  object-position: center center !important;
}

@media (max-width: 760px) {
  .home .landing-hero-bg {
    object-position: center 10% !important;
  }

  .home .project-image.home-project-image-tall,
  .home .project-image.home-project-image-tall img {
    min-height: 320px !important;
    height: 320px !important;
  }
}


/* V5.8ad: Sustainability regulatory readiness section and footer cleanup */

.sustainability-regulatory-section {
  background:
    radial-gradient(circle at 88% 18%, rgba(11,79,54,.08), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfbf8 100%);
  padding-top: 58px !important;
  padding-bottom: 64px !important;
}

.regulatory-intro {
  max-width: 920px;
  margin-bottom: 32px;
}

.regulatory-intro h2 {
  max-width: 840px;
}

.regulatory-intro .lead {
  margin-top: 18px;
  max-width: 860px;
}

.regulatory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.regulatory-grid article {
  padding: 24px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(25,27,24,.10);
  box-shadow: 0 16px 42px rgba(17,22,17,.07);
}

.regulatory-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: rgba(11,79,54,.09);
  color: var(--forest-dark);
  font-size: 12px;
  font-weight: 900;
}

.regulatory-grid h3 {
  font-size: 20px;
  margin-bottom: 10px;
}

.regulatory-grid p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .regulatory-grid {
    grid-template-columns: 1fr;
  }

  .sustainability-regulatory-section {
    padding-top: 44px !important;
    padding-bottom: 48px !important;
  }
}


/* V5.9b: homepage title and subtitle white */
.home .landing-hero h1,
.home .landing-hero .hero-title,
.home .landing-hero-title,
.home-page .landing-hero h1,
.home .landing-hero p,
.home .landing-hero .lead,
.home .landing-hero-subtitle {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.25);
}


/* V5.9c: restore homepage hero image visibility on mobile */
@media (max-width: 760px) {
  .home .landing-hero {
    position: relative !important;
    background: #06231b !important;
    overflow: hidden !important;
  }

  .home .landing-hero-bg {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 12% !important;
    z-index: 0 !important;
  }

  .home .landing-hero::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
      linear-gradient(90deg, rgba(6,40,31,.72) 0%, rgba(6,40,31,.46) 48%, rgba(6,40,31,.14) 100%) !important;
    pointer-events: none !important;
  }

  .home .landing-hero .container,
  .home .landing-hero-content {
    position: relative !important;
    z-index: 2 !important;
  }

  .home .landing-hero h1,
  .home .landing-hero .lead,
  .home .landing-hero p {
    color: #ffffff !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.35) !important;
  }
}


/* V5.9d: mobile-only homepage image refinements */
@media (max-width: 760px) {
  /* Remove dark overlay on mobile homepage hero only */
  .home .landing-hero::before {
    content: none !important;
    display: none !important;
    background: transparent !important;
  }

  /* Shift mobile hero image left slightly */
  .home .landing-hero-bg {
    object-position: 38% 12% !important;
  }

  /* Shift lower homepage image fully up on mobile only */
  .home .project-image img,
  .home .project-image.home-project-image-tall img,
  .home img[src*="home-woodchips-blue-sky"] {
    object-position: center 0% !important;
  }
}


/* V5.9e: mobile bottom homepage image - show bottom right */
@media (max-width: 760px) {
  .home .project-image img,
  .home .project-image.home-project-image-tall img,
  .home img[src*="home-woodchips-blue-sky"] {
    object-position: right bottom !important;
  }
}
