:root {
  --dark: #082819;
  --deep: #041b10;
  --green: #0c5a2f;
  --lime: #88b52e;
  --cream: #f5f7f2;
  --text: #111713;
  --muted: #667168;
  --line: #dce4dc;
  --shadow: 0 18px 45px rgba(4, 27, 16, 0.16);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}

body {
  margin: 0;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  font-family: Manrope, Arial, sans-serif;
  color: var(--text);
  background: #fff;
}

body.menu-open {
  overflow: hidden;
}

.turnstile-container {
  width: 100%;
  max-width: 100%;
  margin: 0.75rem 0;
  overflow: hidden;
}

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

img {
  display: block;
  max-width: 100%;
}

.container {
  width: min(1460px, calc(100% - 44px));
  margin: auto;
}

/* Header */
.topbar {
  background: var(--deep);
  color: #fff;
  font-size: 0.72rem;
}

.topbar-inner {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.topbar-links a {
  display: flex;
  align-items: center;
  gap: 6px;
}

.nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.nav-inner {
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.logo img {
  width: auto;
  height: 64px;
}

.menu-list {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.menu-list > li {
  position: relative;
}

.top-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 14px 12px;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.top-link:hover,
.top-link.active {
  color: var(--green);
}

.top-link.active::after {
  content: "";
  position: absolute;
  right: 12px;
  bottom: 5px;
  left: 12px;
  height: 2px;
  background: var(--green);
}

.dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: 0.2s;
}

.menu-list > li:last-child .dropdown {
  right: 0;
  left: auto;
}

.menu-list li:hover .dropdown {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.dropdown a {
  display: block;
  padding: 11px 13px;
  border-radius: 8px;
  font-size: 0.72rem;
  font-weight: 700;
}

.dropdown a:hover {
  color: var(--green);
  background: var(--cream);
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
  transition: 0.2s;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn-sm {
  padding: 9px 16px;
}

.btn-primary,
.btn-header {
  color: #fff;
  background: var(--green);
}

.btn-light {
  color: var(--dark);
  background: #fff;
  border-color: #d9e3dc;
}

.btn-outline-light {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.45);
}

.btn-outline-dark {
  color: var(--dark);
  background: rgba(255, 255, 255, 0.7);
  border-color: var(--green);
}

/* Mobile navigation */
.hamburger {
  display: none;
  padding: 4px;
  background: none;
  border: 0;
}

.hamburger span {
  display: block;
  width: 27px;
  height: 3px;
  margin: 5px;
  background: var(--dark);
}

.mobile-menu,
.overlay-bg {
  display: none;
}

.mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  width: min(340px, 88vw);
  height: 100%;
  padding: 22px;
  overflow: auto;
  background: #fff;
}

.mobile-menu.open,
.overlay-bg.open {
  display: block;
}

.overlay-bg {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(0, 0, 0, 0.5);
}

.mobile-menu a {
  display: block;
  padding: 11px 6px;
  border-bottom: 1px solid #eee;
}

.sub-label {
  margin-top: 18px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.close-btn {
  font-size: 1.3rem;
  background: none;
  border: 0;
}

/* Hero */
.hero {
  position: relative;
  min-height: 650px;
  display: flex;
  align-items: center;
  background: url("images/hero-logo-v2.webp") center / cover no-repeat;
}

.hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.9) 0%,
    rgba(255, 255, 255, 0.72) 38%,
    rgba(255, 255, 255, 0.28) 66%,
    rgba(255, 255, 255, 0.04) 88%
  );
  pointer-events: none;
}

.hero-content {
  position: relative;
  z-index: 2;
  padding: 70px 0 170px;
}

.hero h1 {
  margin: 0 0 22px;
  font-size: clamp(3rem, 4.9vw, 6rem);
  line-height: 1.03;
  letter-spacing: -0.05em;
}

.hero h1 span {
  display: block;
  max-width: 850px;
  color: var(--green);
  background: transparent;
  font-size: 0.73em;
  line-height: 1.04;
  letter-spacing: -0.035em;
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.45);
}

.hero p {
  margin: 0 0 25px;
  font-size: 1.15rem;
  line-height: 1.45;
}

.hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.hero-features {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  background: transparent;
}

.feature-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  color: #fff;
}

.feature-strip article {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 16px 22px;
  border: 0;
}

/* One short divider between desktop items */
.feature-strip article:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 16px;
  right: 0;
  bottom: 16px;
  width: 1px;
  background: rgba(255, 255, 255, 0.45);
}

.feature-icon {
  width: 48px;
  height: 48px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 50%;
}

.feature-icon svg {
  width: 22px;
  height: 22px;
}

.feature-strip p {
  margin: 0;
  color: #fff;
  font-size: 0.74rem;
  line-height: 1.4;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.75);
}

.feature-strip strong {
  display: block;
  margin-bottom: 4px;
  color: #fff;
  font-size: 0.8rem;
  line-height: 1.2;
  text-transform: uppercase;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.75);
}

/* Industries and impact */
.home-dashboard {
  padding: 10px 0 14px;
  background: #fff;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(370px, 1fr);
  gap: 26px;
  align-items: stretch;
}

.section-heading h2 {
  margin: 8px 0 18px;
  color: var(--dark);
  font-size: 1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.section-heading h2::after {
  content: "";
  display: block;
  width: 38px;
  height: 2px;
  margin-top: 8px;
  background: var(--lime);
}

.industries-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 14px;
  row-gap: 10px;
}

.industry-card {
  position: relative;
  text-align: center;
}

.industry-card img {
  width: 100%;
  height: 100px;
  object-fit: cover;
  border-radius: 9px;
  transition: 0.2s;
}

.industry-card:hover img {
  box-shadow: 0 12px 26px rgba(4, 27, 16, 0.17);
  transform: translateY(-2px);
}

.round-icon {
  position: relative;
  width: 38px;
  height: 38px;
  display: grid;
  margin: -16px auto 5px;
  color: #fff;
  background: var(--green);
  border: 2px solid #fff;
  border-radius: 50%;
  place-items: center;
}

.round-icon svg {
  width: 19px;
  height: 19px;
}

.industry-card h3 {
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.2;
}

.industry-card p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 0.62rem;
  line-height: 1.2;
}

.impact-card {
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 18px 22px;
  color: #fff;
  background: linear-gradient(135deg, #084025, #00361f);
  border-radius: 8px;
}

.impact-card h2 {
  margin: 0 0 16px;
  font-size: 1rem;
  text-transform: uppercase;
}

.impact-grid {
  display: grid;
  flex: 1;
  grid-template-columns: 1fr 1fr;
}

.impact-grid article {
  display: grid;
  grid-template-columns: auto 1fr;
  align-content: center;
  column-gap: 12px;
  padding: 19px 12px;
  border-bottom: 1px solid rgba(136, 181, 46, 0.5);
}

.impact-grid article:nth-child(odd) {
  border-right: 1px solid rgba(136, 181, 46, 0.5);
}

.impact-grid article:nth-child(n + 3) {
  border-bottom: 0;
}

.impact-grid svg {
  width: 34px;
  height: 34px;
  grid-row: 1 / 3;
  color: var(--lime);
}

.impact-grid strong {
  font-size: 1.55rem;
  line-height: 1;
}

.impact-grid small {
  font-size: 0.65rem;
}

.impact-grid span {
  margin-top: 5px;
  font-size: 0.68rem;
  line-height: 1.35;
}

.impact-card .btn {
  align-self: center;
  margin-top: 14px;
}

/* Three feature panels */
.feature-row {
  display: grid;
  grid-template-columns: 1.05fr 1fr 1.05fr;
}

.feature-panel {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.feature-waste {
  background-image: url("images/waste-to-innovation.webp");
}

.feature-circular {
  background-image: url("images/circular-economy-bg.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.feature-solar {
  background-image: url("images/solar-recycling.webp");
}

.panel-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.96),
    rgba(255, 255, 255, 0.68) 58%,
    rgba(255, 255, 255, 0.08)
  );
}

.feature-solar .panel-overlay {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.96),
    rgba(255, 255, 255, 0.68) 58%,
    rgba(255, 255, 255, 0.08)
  );
}

.panel-content {
  position: relative;
  z-index: 2;
  width: 66%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 33px 38px;
}

.panel-content h2 {
  margin: 0 0 10px;
  color: var(--dark);
  font-size: 1.15rem;
  text-transform: uppercase;
}

.panel-content p {
  margin: 0 0 18px;
  font-size: 0.78rem;
  line-height: 1.55;
}

.panel-content .btn {
  margin-top: auto;
}

.panel-full {
  width: 100%;
  align-items: stretch;
}

.process {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 18px 0;
}

.process > div {
  font-size: 0.61rem;
  text-align: center;
}

.process > div svg {
  width: 44px;
  height: 44px;
  display: block;
  margin: 0 auto 6px;
  padding: 10px;
  color: var(--green);
  border: 1px solid var(--green);
  border-radius: 50%;
}

.process > svg {
  width: 18px;
  color: var(--green);
}

.feature-circular .btn {
  align-self: center;
}

/* Bottom impact banner */
.bottom-impact {
  position: relative;
  width: min(1460px, calc(100% - 44px));
  height: 230px;
  margin: 24px auto 0;
  overflow: hidden;
  border-radius: 0;
}

.bottom-impact-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.bottom-copy {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18px 24px;
}

.bottom-copy-inner {
  padding: 14px 26px;
}

.bottom-copy h2 {
  margin: 0 0 6px;
  color: #082819;
  font-size: 1.9rem;
  line-height: 1.08;
  font-weight: 800;
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.9);
}

.bottom-copy p {
  margin: 0 0 10px;
  color: #082819;
  font-size: 0.82rem;
  line-height: 1.35;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.9);
}

.bottom-copy .btn {
  padding: 9px 18px;
  font-size: 0.68rem;
}

/* Footer */
footer {
  padding: 50px 0 28px;
  color: #b7c6bc;
  background: var(--deep);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.35fr repeat(4, 1fr);
  gap: 30px;
}

.footer-col img,
.footer-logo {
  width: 78px;
  height: 70px;
  max-width: none;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.footer-brand p {
  max-width: 280px;
  font-size: 0.78rem;
}

.footer-col h5 {
  margin: 0 0 12px;
  color: #fff;
  font-size: 0.74rem;
  text-transform: uppercase;
}

.footer-col a {
  display: block;
  margin: 8px 0;
  font-size: 0.75rem;
}

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
  padding-top: 20px;
  font-size: 0.72rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-copyright {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 9px;
}

.footer-copyright-item {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
}

.footer-legal-separator {
  color: #fff;
  font-size: 0.82rem;
  line-height: 1;
}

.nav-social {
  display: flex;
  gap: 8px;
}

.nav-social a {
  width: 32px;
  height: 32px;
  display: grid;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  place-items: center;
}

/* Responsive */
@media (max-width: 850px) {
  .topbar-inner {
    min-height: 48px;
    justify-content: center;
  }

  .hamburger {
    display: block;
  }

  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .impact-card {
    min-height: auto;
  }

  .feature-row {
    grid-template-columns: 1fr;
  }

  .feature-panel {
    min-height: 360px;
  }
}

/* ============================================================
   HOMEPAGE EVENT CARDS
   ============================================================ */

.home-events {
  padding: 34px 0;
  background: linear-gradient(180deg, #f3f7f2 0%, #fff 100%);
}

.home-events + .intro-band { margin-top: 0; }

.home-events-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
  gap: 30px 70px;
  align-items: end;
  margin-bottom: 34px;
}

.home-events-kicker {
  margin: 0 0 10px;
  color: var(--green);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.home-events-heading h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(2rem, 3.5vw, 3.35rem);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.home-events-heading > p {
  margin: 0;
  color: var(--muted);
  line-height: 1.75;
}

.event-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
}

.event-card-grid.has-one-event { grid-template-columns: minmax(0, 860px); }
.event-card { min-width: 0; }

.event-card-link {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 400px;
  aspect-ratio: 1.46 / 1;
  padding: clamp(22px, 3vw, 34px);
  overflow: hidden;
  color: #fff;
  border-radius: 22px;
  background: #06341f;
  box-shadow: 0 24px 60px rgba(4, 27, 16, .17);
}

.event-card-link:focus-visible { outline: 4px solid var(--lime); outline-offset: 4px; }
.event-card-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.event-card-futurebuild .event-card-background { object-position: center; }
.event-card-huahin .event-card-background { object-position: center; }
.event-card-link:hover .event-card-background { transform: scale(1.025); }
.event-card-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2, 19, 12, .08) 10%, rgba(2, 19, 12, .28) 48%, rgba(2, 19, 12, .96) 100%); }
.event-card-topline { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; width: 100%; gap: 12px; }
.event-card-huahin .event-card-topline { justify-content: flex-end; }
.event-status { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: rgba(2, 31, 18, .74); backdrop-filter: blur(8px); font-size: .77rem; font-weight: 800; }
.event-status svg, .event-location svg { width: 17px; flex: 0 0 auto; }
.event-booth { display: inline-flex; padding: 10px 16px; color: var(--dark); border-radius: 8px; background: var(--lime); box-shadow: 0 8px 24px rgba(0,0,0,.2); font-size: .9rem; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; white-space: nowrap; }
.event-card-content { position: relative; z-index: 1; align-self: flex-end; width: 100%; margin-top: auto; padding-top: 120px; }
.event-card-label { margin: 0 0 8px; color: #fff; font-size: .75rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; text-shadow: 0 2px 10px rgba(0,0,0,.75); }
.event-card-content h3 { max-width: 520px; margin: 0 0 12px; color: #fff; font-size: clamp(1.75rem, 2.8vw, 2.55rem); line-height: 1.08; letter-spacing: -.035em; text-shadow: 0 2px 12px rgba(0,0,0,.4); }
.event-location { display: flex; align-items: center; gap: 8px; margin: 0; color: #f0f7f2; font-weight: 800; }
.event-link-label { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; padding-bottom: 4px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.65); font-size: .82rem; font-weight: 800; }
.event-link-label svg { width: 17px; }

@media (max-width: 900px) {
  .home-events-heading, .event-card-grid { grid-template-columns: 1fr; }
  .home-events-heading { align-items: start; }
  .event-card-link { min-height: min(72vw, 540px); aspect-ratio: auto; }
}

@media (max-width: 600px) {
  .home-events { padding: 28px 0; }
  .home-events-heading { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .event-card-link { min-height: 440px; padding: 20px; border-radius: 18px; }
  .event-status { align-items: flex-start; border-radius: 10px; line-height: 1.4; }
  .event-card-content h3 { font-size: 2rem; }
  .event-card-huahin .event-card-background { object-position: 58% center; }
}

@media (prefers-reduced-motion: reduce) {
  .event-card-background { transition: none; }
}

@media (max-width: 850px) {
  .topbar-links {
    display: none;
  }

  .topbar-inner {
    justify-content: flex-end;
  }

  .hero {
    min-height: 760px;
    background-position: 65% center;
  }

  .hero-shade {
    background: linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.97),
      rgba(255, 255, 255, 0.72)
    );
  }

  .hero-content {
    padding-bottom: 310px;
  }

  .feature-strip {
    grid-template-columns: 1fr 1fr;
  }

  .feature-strip article:nth-child(2) {
    border-right: 0;
  }

  .feature-strip article:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }

  .industries-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .panel-content {
    width: 78%;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .container {
    width: calc(100% - 26px);
  }

  .logo img {
    height: 52px;
  }

  .hero {
    min-height: 930px;
  }

  .hero h1 {
    font-size: 2.55rem;
  }

  .hero-content {
    padding-top: 55px;
  }

  .feature-strip {
    grid-template-columns: 1fr;
  }

  .feature-strip article {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  }

  .feature-strip article:last-child {
    border-bottom: 0;
  }

  .industries-grid {
    gap: 14px 10px;
  }

  .impact-grid {
    grid-template-columns: 1fr;
  }

  .impact-grid article,
  .impact-grid article:nth-child(odd),
  .impact-grid article:nth-child(n + 3) {
    border-right: 0;
    border-bottom: 1px solid rgba(136, 181, 46, 0.5);
  }

  .impact-grid article:last-child {
    border-bottom: 0;
  }

  .panel-content,
  .panel-full {
    width: 100%;
  }

  .process {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }

  .process > svg {
    display: none;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-brand {
    grid-column: auto;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ============================================================
   HOMEPAGE LAYOUT — CLEAN, CONSOLIDATED RULES
   ============================================================ */

/* Header spacing and topbar fit */
.topbar-inner {
  min-height: 48px;
  padding: 5px 0;
}

.menu-list {
  gap: 14px;
}

.top-link {
  gap: 3px;
  padding: 14px 8px;
}

.caret {
  margin-left: 0px;
}

/* Compact, clear hero with no image filter */
.hero {
  min-height: 430px;
  background-position: center;
}

.hero-content {
  padding: 48px 0 132px;
}

.hero h1 {
  font-size: clamp(2.6rem, 4.2vw, 4.7rem);
  margin-bottom: 14px;
}

.hero p {
  margin-bottom: 18px;
}

.hero .hero-lead {
  max-width: 720px;
  color: #06150d;
  font-size: clamp(1.2rem, 1.55vw, 1.45rem);
  font-weight: 800;
  line-height: 1.42;
  letter-spacing: -0.015em;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.4);
}

.hero-features {
  background: rgba(3, 24, 13, 0.86);
}

.feature-strip article {
  padding: 16px 22px;
}

.feature-strip p,
.feature-strip strong {
  color: #fff;
}

/* What We Produce */
.intro-band {
  padding: 34px 0;
  background: var(--cream);
}

.intro-band-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  gap: 32px;
  align-items: stretch;
}

.intro-band-copy {
  min-width: 0;
}

.left-tight h2 {
  margin-top: 0;
  margin-bottom: 14px;
}

.intro-lead,
.intro-support {
  margin: 0 0 14px;
  line-height: 1.65;
}

.intro-lead {
  font-size: 0.98rem;
}

.intro-support {
  color: var(--muted);
  font-size: 0.86rem;
}

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

.intro-points article {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 15px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.intro-points svg {
  width: 22px;
  height: 22px;
  color: var(--green);
}

.intro-points h3 {
  margin: 0 0 5px;
  font-size: 0.8rem;
  text-transform: uppercase;
}

.intro-points p {
  margin: 0;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.45;
}

.intro-band-visual {
  position: relative;
  min-width: 0;
  min-height: 280px;
}

.intro-band-visual img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 12px;
  box-shadow: var(--shadow);
}

/* Industries and impact — compact and equal-height columns */
.home-dashboard {
  padding: 14px 0 20px;
}

.dashboard-grid {
  align-items: stretch;
}

.industries-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 14px;
  row-gap: 10px;
}

.industry-card img {
  height: 100px;
  aspect-ratio: auto;
}

.impact-card {
  min-height: 0;
  height: 100%;
  align-self: stretch;
  padding: 18px 22px;
}

.impact-grid article {
  padding: 12px 10px;
}

.impact-grid strong {
  font-size: 1.35rem;
}

/* Three equal homepage feature panels aligned to the main container */
.feature-row {
  width: min(1460px, calc(100% - 44px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.feature-panel {
  min-height: 320px;
}

.feature-waste,
.feature-solar {
  background-position: center;
}

.feature-circular {
  background-image: url("images/circular-economy-bg.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.panel-content {
  width: 72%;
  padding: 34px 38px;
}

.panel-full {
  width: 100%;
}

.feature-circular .panel-content {
  background: rgba(243, 247, 238, 0.38);
}

/* No full-panel filters: use text colours matched to each image */
.feature-waste .panel-content h2,
.feature-waste .panel-content p {
  color: #fff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.75);
}

.feature-solar .panel-content {
  width: 62%;
}

.feature-solar .panel-content h2,
.feature-solar .panel-content p {
  color: var(--dark);
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95);
}

/* Contact CTA */
.contact-cta {
  padding: 34px 0 42px;
  background: #fff;
}

.contact-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) auto;
  gap: 24px;
  align-items: center;
  padding: 30px 34px;
  color: #fff;
  background: linear-gradient(135deg, #0b4428, #082819);
  border-radius: 14px;
}

.cta-kicker {
  margin: 0 0 7px;
  color: #d4e3d8;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contact-cta h2 {
  margin: 0 0 8px;
  font-size: clamp(1.4rem, 2.1vw, 2rem);
}

.contact-cta p:last-child {
  margin: 0;
  color: #dce8df;
}

.contact-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* Accreditations directly above footer on white */
.certifications-section {
  padding: 44px 0;
  background: #fff;
}

.certifications-heading {
  text-align: center;
}

.certifications-heading h2::after {
  margin-left: auto;
  margin-right: auto;
}

.certifications-heading p {
  max-width: 700px;
  margin: -4px auto 26px;
  color: var(--muted);
  font-size: 0.84rem;
}

.certification-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  max-width: 900px;
  margin: 0 auto;
}

.certification-card {
  position: relative;
  min-height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 22px 18px;
  background: linear-gradient(180deg, #fff 0%, #f7faf7 100%);
  border: 1px solid #d8e2d8;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(4, 27, 16, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.certification-card:hover,
.certification-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(18, 110, 59, 0.35);
  box-shadow: 0 14px 28px rgba(4, 27, 16, 0.1);
  outline: none;
}

.certification-card img {
  width: auto;
  max-width: 160px;
  height: 70px;
  object-fit: contain;
}

.certification-card-copy {
  display: grid;
  gap: 3px;
  text-align: center;
}

.certification-card-copy small {
  color: var(--green);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.certification-card-copy strong {
  color: var(--dark);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.3;
}

/* Consistent spacing between major homepage sections */
.intro-band,
.home-dashboard,
.feature-row,
.bottom-impact,
.contact-cta,
.certifications-section {
  margin-top: 24px;
}

.intro-band {
  margin-top: 24px;
}

.home-dashboard {
  padding-top: 0;
}

.contact-cta {
  padding-top: 0;
}

.certifications-section {
  padding-top: 0;
}

/* Responsive homepage layout */
@media (max-width: 1100px) {
  .intro-band-grid {
    grid-template-columns: 1fr 0.85fr;
  }

  .intro-points {
    grid-template-columns: 1fr;
  }

  .feature-row {
    grid-template-columns: 1fr;
  }

  .feature-panel {
    min-height: 360px;
  }

  .contact-cta-inner {
    grid-template-columns: 1fr;
  }
}

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

  .intro-band-visual img {
    height: 100%;
  }

  .intro-band-visual {
    min-height: clamp(280px, 45vw, 320px);
  }

  .certification-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
}

@media (max-width: 560px) {
  .feature-row {
    width: calc(100% - 26px);
  }

  .panel-content,
  .feature-solar .panel-content {
    width: 100%;
  }

  .bottom-copy {
    margin: 16px;
    padding: 22px 18px;
  }

  .certification-card {
    min-height: 112px;
    gap: 8px;
    padding: 10px 6px;
  }

  .certification-card img {
    max-width: 78px;
    height: 46px;
  }

  .certification-card-copy {
    gap: 2px;
  }

  .certification-card-copy small {
    font-size: 0.5rem;
  }

  .certification-card-copy strong {
    font-size: 0.58rem;
    line-height: 1.2;
  }
}

/* Homepage industry cards do not need the decorative bars used elsewhere. */
.home-dashboard .industry-card {
  padding-top: 0;
  background: transparent;
  box-shadow: none;
}

.home-dashboard .industries-block .section-heading h2::after {
  content: none;
  display: none;
}

.home-dashboard .industry-card::before {
  content: none;
}

@media (max-width: 760px) {
  .home-dashboard .industries-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 12px;
  }

  .home-dashboard .industry-card img {
    height: auto;
    aspect-ratio: 1315 / 1196;
    object-fit: contain;
  }
}

@media (max-width: 560px) {
  .bottom-impact {
    width: calc(100% - 26px);
    height: auto;
    display: flex;
    flex-direction: column;
    background: #f3f7ee;
  }

  .bottom-impact-image {
    width: 100%;
    height: auto;
    aspect-ratio: 2172 / 527;
    object-fit: contain;
    flex: 0 0 auto;
  }

  .bottom-copy {
    position: relative;
    inset: auto;
    margin: 0;
    padding: 18px 18px 20px;
    background: linear-gradient(180deg, #f7f9f4 0%, #eef5e9 100%);
  }

  .bottom-copy-inner {
    padding: 0;
  }

  .bottom-copy h2 {
    font-size: 1.15rem;
  }
}


/* FINAL HERO FEATURE STRIP + MOBILE FLOW FIX */
.hero-features {
  background: transparent;
}

.feature-strip article {
  background: transparent;
  border-right: 1px solid rgba(255, 255, 255, 0.42);
}

.feature-strip article:last-child {
  border-right: 0;
}

.feature-strip p,
.feature-strip strong,
.feature-icon,
.feature-icon svg {
  color: #fff;
}

.feature-strip p,
.feature-strip strong {
  text-shadow: 0 2px 7px rgba(0, 0, 0, 0.9);
}

.feature-icon {
  border-color: #fff;
}

@media (max-width: 850px) {
  .hero {
    min-height: 0;
    display: block;
    background-position: 62% center;
  }

  .hero-content {
    padding: 50px 22px 32px;
  }

  .hero h1 {
    max-width: 650px;
    margin-bottom: 14px;
    font-size: clamp(2.25rem, 6.8vw, 3.35rem);
    line-height: 1.04;
  }

  .hero p {
    max-width: 650px;
    margin-bottom: 20px;
    font-size: 1rem;
  }

  .hero .hero-lead {
    font-size: 1.1rem;
  }

  .hero-buttons {
    position: relative;
    z-index: 4;
    margin-bottom: 0;
  }

  .hero-features {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    z-index: 3;
    background: transparent;
  }

  .feature-strip {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    background: transparent;
  }

  .feature-strip article {
    min-height: 92px;
    padding: 16px 20px;
    border-right: 1px solid rgba(255, 255, 255, 0.42);
    border-bottom: 1px solid rgba(255, 255, 255, 0.42);
  }

  .feature-strip article:nth-child(even) {
    border-right: 0;
  }

  .feature-strip article:nth-child(n + 3) {
    border-bottom: 0;
  }
}

@media (max-width: 560px) {
  .hero {
    min-height: 0;
    background-position: 66% center;
  }

  .hero-content {
    padding: 42px 18px 28px;
  }

  .hero h1 {
    font-size: 2.25rem;
    line-height: 1.03;
  }

  .hero p {
    font-size: 0.94rem;
    line-height: 1.42;
  }

  .hero .hero-lead {
    font-size: 1.04rem;
  }

  .hero-buttons {
    flex-direction: column;
    align-items: flex-start;
  }

  .hero-buttons .btn {
    min-width: 170px;
  }

  .feature-strip {
    grid-template-columns: 1fr;
  }

  .feature-strip article,
  .feature-strip article:nth-child(even),
  .feature-strip article:nth-child(n + 3) {
    min-height: 80px;
    padding: 14px 18px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.42);
  }

  .feature-strip article:last-child {
    border-bottom: 0;
  }

  .feature-icon {
    width: 42px;
    height: 42px;
  }
}

/* ============================================================
   FINAL FEATURE-STRIP DIVIDER FIX
   Removes duplicate full-height borders and keeps one short line.
   ============================================================ */

.feature-strip article,
.feature-strip article:last-child {
  position: relative;
  border: 0;
}

/* Desktop: one short vertical divider between the four items */
.feature-strip article::before {
  display: none;
}

.feature-strip article:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 16px;
  right: 0;
  bottom: 16px;
  width: 1px;
  background: rgba(255, 255, 255, 0.45);
}

/* Tablet: two columns, with short vertical and horizontal dividers */
@media (max-width: 850px) {
  .feature-strip article,
  .feature-strip article:nth-child(even),
  .feature-strip article:nth-child(n + 3),
  .feature-strip article:last-child {
    border: 0;
  }

  .feature-strip article::after {
    display: none;
  }

  .feature-strip article:nth-child(odd)::after {
    content: "";
    display: block;
    position: absolute;
    top: 16px;
    right: 0;
    bottom: 16px;
    width: 1px;
    background: rgba(255, 255, 255, 0.45);
  }

  .feature-strip article:nth-child(-n + 2)::before {
    content: "";
    display: block;
    position: absolute;
    right: 18px;
    bottom: 0;
    left: 18px;
    height: 1px;
    background: rgba(255, 255, 255, 0.45);
  }
}

/* Small mobile: one column with short horizontal dividers */
@media (max-width: 560px) {
  .feature-strip article,
  .feature-strip article:nth-child(even),
  .feature-strip article:nth-child(n + 3),
  .feature-strip article:last-child {
    border: 0;
  }

  .feature-strip article::after {
    display: none;
  }

  .feature-strip article:not(:last-child)::before {
    content: "";
    display: block;
    position: absolute;
    right: 18px;
    bottom: 0;
    left: 18px;
    height: 1px;
    background: rgba(255, 255, 255, 0.45);
  }

  .feature-strip article:last-child::before {
    display: none;
  }
}


/* FINAL THREE FEATURE PANELS — DARK TEXT */
.feature-row .panel-content h2 {
  color: #082819;
  font-weight: 800;
  text-shadow: none;
}

.feature-row .panel-content p,
.feature-row .process span {
  color: #1d2a22;
  font-weight: 500;
  text-shadow: none;
}

.feature-row .process > div svg,
.feature-row .process > svg {
  color: #0c5a2f;
  border-color: #0c5a2f;
}


/* ============================================================
   FINAL TOPBAR CONTACT LAYOUT
   One phone number, opening hours and Contact Us button.
   ============================================================ */
.topbar-inner {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 5px 0;
}

.topbar-links {
  width: auto;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 22px;
  padding: 0;
}

.topbar-item,
.topbar-links a,
.opening-hours {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  line-height: 1;
  white-space: nowrap;
}

.topbar-item svg,
.topbar-links a svg,
.opening-hours svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.btn-header {
  flex: 0 0 auto;
  white-space: nowrap;
}

.footer-contact span {
  display: block;
  margin: 8px 0;
  color: #b7c6bc;
  font-size: 0.75rem;
  line-height: 1.5;
}

@media (max-width: 850px) {
  .topbar-inner {
    min-height: 0;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    padding: 9px 0;
  }

  .topbar-links {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 18px;
  }

  .btn-header {
    display: none;
  }
}

@media (max-width: 560px) {
  .topbar-links {
    flex-direction: column;
    align-items: center;
    gap: 7px;
  }

  .topbar-item,
  .topbar-links a,
  .opening-hours {
    font-size: 0.66rem;
  }
}

/* ============================================================
   OUR LOCATIONS PAGE — FINAL VISUAL LAYOUT
   ============================================================ */
.our-locations-page {
  overflow: hidden;
  background: #fff;
}

.locations-visual-hero {
  position: relative;
  width: min(1460px, calc(100% - 44px));
  min-height: 315px;
  display: grid;
  align-items: center;
  margin: 24px auto 0;
  overflow: hidden;
  border-radius: 16px;
}

.locations-visual-hero-image,
.locations-visual-hero-overlay {
  position: absolute;
  inset: 0;
}

.locations-visual-hero-image {
  background: url("images/our-locations-hero.webp") center 58% / cover no-repeat;
}

.locations-visual-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.9) 0%, rgba(4,27,16,.68) 36%, rgba(4,27,16,.08) 75%);
}

.locations-visual-hero-content {
  position: relative;
  z-index: 2;
  color: #fff;
}

.locations-page-kicker {
  margin: 0 0 10px;
  color: var(--lime);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.locations-visual-hero h1 {
  margin: 0 0 14px;
  font-size: clamp(2.7rem, 5vw, 5rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.locations-visual-hero-content > p:last-child {
  margin: 0;
  color: #f2f6f3;
  font-size: 1.02rem;
  line-height: 1.55;
}

.locations-contact-section {
  padding: 28px 0 34px;
}

.locations-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, .72fr) minmax(360px, .86fr);
  gap: 18px 28px;
  align-items: stretch;
}

.location-photo-panel,
.location-information-card,
.location-map-card {
  min-height: 240px;
}

.location-photo-panel {
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(4,27,16,.12);
}

.location-photo-panel img {
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
}

.location-information-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 0;
}

.location-type {
  margin: 0 0 5px;
  color: var(--lime);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.location-information-card h2 {
  margin: 0 0 10px;
  color: var(--dark);
  font-size: clamp(1.45rem, 2vw, 2rem);
  letter-spacing: -.025em;
}

.location-description {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.55;
}

.location-contact-list {
  display: grid;
  gap: 11px;
}

.location-contact-list > div {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--dark);
  font-size: .75rem;
  line-height: 1.45;
}

.location-contact-icon {
  width: 25px;
  height: 25px;
  display: grid;
  flex: 0 0 auto;
  color: var(--green);
  place-items: center;
}

.location-contact-icon svg {
  width: 18px;
  height: 18px;
}

.location-contact-list a:hover {
  color: var(--green);
}

.location-information-secure {
  padding-right: 10px;
}

.location-map-card {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 8px;
}

.location-map-frame {
  position: relative;
  min-height: 195px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.location-map-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.map-consent-panel {
  display: flex;
  min-height: 195px;
  height: 100%;
  padding: 24px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #edf3ec;
  color: var(--dark);
  text-align: center;
}

.map-consent-panel > svg {
  width: 34px;
  height: 34px;
  margin-bottom: 10px;
  color: var(--green);
}

.map-consent-panel h3 { margin: 0 0 6px; font-size: .9rem; }
.map-consent-panel p { margin: 0 0 14px; color: var(--muted); font-size: .7rem; }
.map-consent-panel small { max-width: 340px; margin-top: 10px; color: var(--muted); font-size: .56rem; line-height: 1.5; }

.map-open-button {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: .72rem;
  font-weight: 750;
  transition: .2s;
}

.map-open-button:hover {
  color: #fff;
  background: #0a2454;
  border-color: #0a2454;
}

.map-open-button svg {
  width: 16px;
  height: 16px;
}

.locations-contact-cta {
  padding: 0 0 38px;
}

.locations-contact-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 26px 30px;
  color: #fff;
  background: linear-gradient(135deg, #0b4428, #082819);
  border-radius: 14px;
}

.locations-contact-cta h2 {
  margin: 0 0 7px;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.locations-contact-cta p:last-child {
  margin: 0;
  color: #dce8df;
  font-size: .8rem;
}

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

  .location-map-card {
    grid-column: 1 / -1;
    min-height: 250px;
  }

  .location-map-frame {
    min-height: 210px;
  }
}

@media (max-width: 760px) {
  .locations-visual-hero {
    width: calc(100% - 26px);
    min-height: 280px;
    margin-top: 14px;
  }

  .locations-visual-hero-content {
    padding: 34px 8px;
  }

  .locations-visual-hero h1 {
    font-size: 2.7rem;
  }

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

  .location-photo-panel,
  .location-information-card,
  .location-map-card {
    min-height: auto;
  }

  .location-photo-panel img {
    min-height: 220px;
  }

  .location-information-card {
    padding: 8px 2px 18px;
  }

  .location-map-card {
    grid-column: auto;
  }

  .locations-contact-cta-inner {
    grid-template-columns: 1fr;
    padding: 24px;
  }
}


/* ============================================================
   OUR STORY PAGE — REPAIRED, COMPACT, PAGE-SCOPED
   ============================================================ */
.story-page { overflow: hidden; }
.story-page .story-hero,
.story-page .story-future { position: relative; min-height: 330px; display: grid; align-items: center; overflow: hidden; }
.story-page .story-hero-image,
.story-page .story-future-image { position: absolute; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat; }
.story-page .story-hero-image { background-image: url("images/our-story-hero.webp"); }
.story-page .story-future-image { background-image: url("images/our-story-future.webp"); }
.story-page .story-hero::after,
.story-page .story-future::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,27,16,.88) 0%, rgba(4,27,16,.65) 42%, rgba(4,27,16,.12) 78%); }
.story-page .story-hero-content,
.story-page .story-future-content { position: relative; z-index: 2; max-width: 760px; padding: 54px 0; color: #fff; }
.story-page .story-kicker { margin: 0 0 10px; color: #cfe1d3; font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.story-page .story-hero h1 { max-width: 720px; margin: 0 0 14px; font-size: clamp(2.4rem, 4.3vw, 4.7rem); line-height: 1.02; letter-spacing: -.045em; }
.story-page .story-hero-content > p:last-child,
.story-page .story-future-content > p { max-width: 680px; margin: 0; color: #eef5f0; font-size: .92rem; line-height: 1.6; }
.story-page .story-section { padding: 42px 0; }
.story-page .story-section:nth-of-type(even) { background: var(--cream); }
.story-page .story-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .86fr); gap: 36px; align-items: center; }
.story-page .story-split-reverse { grid-template-columns: minmax(360px, .86fr) minmax(0, 1fr); }
.story-page .story-copy-block p { margin: 0 0 13px; color: var(--muted); font-size: .84rem; line-height: 1.62; }
.story-page .story-copy-block .story-lead { color: var(--text); font-size: .94rem; font-weight: 600; }
.story-page .story-image-card { position: relative; height: 270px; min-height: 270px; overflow: hidden; background: #e8eee7; border-radius: 12px; box-shadow: var(--shadow); }
.story-page .story-image-card img { width: 100%; height: 100%; object-fit: cover; }
.story-page .story-centred-heading { max-width: 760px; margin: 0 auto 24px; text-align: center; }
.story-page .story-centred-heading h2::after { margin-right: auto; margin-left: auto; }
.story-page .story-centred-heading p { margin: -8px 0 0; color: var(--muted); font-size: .8rem; line-height: 1.55; }
.story-page .story-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.story-page .story-value-card,
.story-page .story-belief-card { min-height: 160px; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 10px 24px rgba(4,27,16,.07); }
.story-page .story-value-card svg,
.story-page .story-belief-card svg { width: 38px; height: 38px; margin-bottom: 14px; padding: 9px; color: #fff; background: var(--green); border-radius: 50%; }
.story-page .story-value-card h3,
.story-page .story-belief-card h3 { margin: 0 0 7px; color: var(--dark); font-size: .9rem; }
.story-page .story-value-card p,
.story-page .story-belief-card p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.story-page .story-check-list { display: grid; gap: 9px; margin: 18px 0 0; padding: 0; list-style: none; }
.story-page .story-check-list li { display: flex; align-items: flex-start; gap: 9px; color: var(--dark); font-size: .78rem; font-weight: 650; }
.story-page .story-check-list svg { width: 18px; height: 18px; flex: 0 0 auto; padding: 3px; color: #fff; background: var(--green); border-radius: 50%; }
.story-page .story-journey { background: #fff; }
.story-page .story-timeline { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; }
.story-page .story-timeline::before { content: ""; position: absolute; top: 23px; right: 9%; left: 9%; height: 2px; background: var(--line); }
.story-page .story-timeline article { position: relative; z-index: 1; padding: 0 8px; text-align: center; }
.story-page .timeline-number { width: 46px; height: 46px; display: grid; margin: 0 auto 12px; color: #fff; background: var(--green); border: 4px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px var(--line); place-items: center; font-size: .66rem; font-weight: 800; }
.story-page .story-timeline h3 { margin: 0 0 6px; color: var(--dark); font-size: .78rem; }
.story-page .story-timeline p { margin: 0; color: var(--muted); font-size: .63rem; line-height: 1.45; }
.story-page .story-mini-stats { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin-top: 18px; }
.story-page .story-mini-stats div { padding: 12px; background: #fff; border-left: 3px solid var(--lime); border-radius: 8px; }
.story-page .story-mini-stats strong { display: block; color: var(--green); font-size: .96rem; }
.story-page .story-mini-stats span { color: var(--muted); font-size: .62rem; }
.story-page .story-beliefs { background: #fff; }
.story-page .story-belief-card { background: linear-gradient(145deg, #fff, #f0f5ed); }
.story-page .story-future { min-height: 280px; }
.story-page .story-future::after { background: linear-gradient(90deg, rgba(4,27,16,.9), rgba(4,27,16,.64) 55%, rgba(4,27,16,.14)); }
.story-page .story-future-content { max-width: 720px; }
.story-page .story-future h2 { margin: 0 0 10px; font-size: clamp(1.8rem, 2.8vw, 2.8rem); }
.story-page .story-future-content .btn { margin-top: 18px; }

@media (max-width: 1100px) {
  .story-page .story-split,
  .story-page .story-split-reverse { grid-template-columns: 1fr; }
  .story-page .story-split-reverse .story-image-card { order: 2; }
  .story-page .story-timeline { grid-template-columns: repeat(3, 1fr); row-gap: 24px; }
  .story-page .story-timeline::before { display: none; }
}
@media (max-width: 850px) {
  .story-page .story-hero,
  .story-page .story-future { min-height: 300px; }
  .story-page .story-hero-content,
  .story-page .story-future-content { padding: 46px 0; }
  .story-page .story-hero h1 { font-size: clamp(2.2rem, 8vw, 3.6rem); }
  .story-page .story-section { padding: 36px 0; }
  .story-page .story-card-grid { grid-template-columns: 1fr; }
  .story-page .story-timeline { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .story-page .story-hero::after,
  .story-page .story-future::after { background: rgba(4,27,16,.72); }
  .story-page .story-hero-content,
  .story-page .story-future-content { padding: 40px 0; }
  .story-page .story-hero h1 { font-size: 2.25rem; }
  .story-page .story-hero-content > p:last-child,
  .story-page .story-future-content > p { font-size: .84rem; }
  .story-page .story-section { padding: 32px 0; }
  .story-page .story-image-card { height: 220px; min-height: 220px; }
  .story-page .story-timeline { grid-template-columns: 1fr; gap: 20px; }
  .story-page .story-mini-stats { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   OUR LOCATIONS HERO — MATCH OUR STORY POSITION
   ============================================================ */
.our-locations-page .locations-visual-hero {
  width: 100%;
  min-height: 330px;
  margin: 0;
  border-radius: 0;
  align-items: center;
}

.our-locations-page .locations-visual-hero-overlay {
  background: rgba(4, 27, 16, 0.62);
}

.our-locations-page .locations-visual-hero-content {
  max-width: 820px;
  padding: 54px 0;
  margin: 0 auto;
  text-align: center;
}

.our-locations-page .locations-visual-hero-content > p:last-child {
  max-width: 720px;
  margin: 0 auto;
}

@media (max-width: 760px) {
  .our-locations-page .locations-visual-hero {
    width: 100%;
    min-height: 300px;
    margin: 0;
  }

  .our-locations-page .locations-visual-hero-content {
    padding: 46px 20px;
  }
}

/* ============================================================
   FINAL HERO CONSISTENCY
   Homepage: full width, left aligned.
   Our Story: full width, same height and left alignment.
   Our Locations: same height and left alignment, rounded inset.
   ============================================================ */

/* Our Story follows the homepage hero proportions and alignment. */
.story-page .story-hero {
  width: 100%;
  min-height: 430px;
  margin: 0;
  border-radius: 0;
  align-items: center;
}

.story-page .story-hero-content {
  width: min(1460px, calc(100% - 44px));
  max-width: none;
  margin: 0 auto;
  padding: 48px 0;
  text-align: left;
}

.story-page .story-hero h1 {
  max-width: 720px;
}

.story-page .story-hero-content > p:last-child {
  max-width: 680px;
  margin: 0;
}

/* Our Locations uses the same hero height and left alignment,
   but remains an inset rounded rectangle as requested. */
.our-locations-page .locations-visual-hero {
  width: min(1460px, calc(100% - 44px));
  min-height: 430px;
  margin: 24px auto 0;
  border-radius: 16px;
  align-items: center;
}

.our-locations-page .locations-visual-hero-overlay {
  background: linear-gradient(
    90deg,
    rgba(4, 27, 16, 0.88) 0%,
    rgba(4, 27, 16, 0.64) 42%,
    rgba(4, 27, 16, 0.10) 78%
  );
}

.our-locations-page .locations-visual-hero-content {
  width: min(1460px, calc(100% - 44px));
  max-width: none;
  margin: 0 auto;
  padding: 48px 0;
  text-align: left;
}

.our-locations-page .locations-visual-hero-content > p:last-child {
  max-width: 680px;
  margin: 0;
}

@media (max-width: 850px) {
  .story-page .story-hero,
  .our-locations-page .locations-visual-hero {
    min-height: 360px;
  }

  .story-page .story-hero-content,
  .our-locations-page .locations-visual-hero-content {
    width: calc(100% - 44px);
    padding: 44px 0;
    text-align: left;
  }
}

@media (max-width: 560px) {
  .story-page .story-hero {
    min-height: 330px;
  }

  .our-locations-page .locations-visual-hero {
    width: calc(100% - 26px);
    min-height: 330px;
    margin-top: 14px;
    border-radius: 12px;
  }

  .story-page .story-hero-content,
  .our-locations-page .locations-visual-hero-content {
    width: calc(100% - 26px);
    padding: 38px 0;
  }
}

/* ============================================================
   FINAL OUR LOCATIONS HERO — MATCH HOMEPAGE
   Full width, square corners, left aligned, same desktop height.
   ============================================================ */
.our-locations-page .locations-visual-hero {
  width: 100%;
  min-height: 430px;
  margin: 0;
  border-radius: 0;
  align-items: center;
}

.our-locations-page .locations-visual-hero-content {
  width: min(1460px, calc(100% - 44px));
  max-width: none;
  margin: 0 auto;
  padding: 48px 0;
  text-align: left;
}

.our-locations-page .locations-visual-hero-content > p:last-child {
  max-width: 680px;
  margin: 0;
}

@media (max-width: 850px) {
  .our-locations-page .locations-visual-hero {
    width: 100%;
    min-height: 360px;
    margin: 0;
    border-radius: 0;
  }

  .our-locations-page .locations-visual-hero-content {
    width: calc(100% - 44px);
    padding: 44px 0;
  }
}

@media (max-width: 560px) {
  .our-locations-page .locations-visual-hero {
    width: 100%;
    min-height: 330px;
    margin: 0;
    border-radius: 0;
  }

  .our-locations-page .locations-visual-hero-content {
    width: calc(100% - 26px);
    padding: 38px 0;
  }
}

/* ============================================================
   RESEARCH & DEVELOPMENT PAGE
   Page-scoped styles added to the existing master stylesheet.
   ============================================================ */
.rd-page { overflow: hidden; background: #fff; }

.rd-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
}

.rd-hero-image,
.rd-hero-overlay {
  position: absolute;
  inset: 0;
}

.rd-hero-image {
  background: url("images/rd-hero.webp") center / cover no-repeat;
}

.rd-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.92) 0%, rgba(4,27,16,.68) 42%, rgba(4,27,16,.12) 78%);
}

.rd-hero-content {
  position: relative;
  z-index: 2;
  max-width: 760px;
  padding: 48px 0;
  color: #fff;
}

.rd-kicker {
  margin: 0 0 10px;
  color: var(--lime);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.rd-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(2.6rem, 4.2vw, 4.7rem);
  line-height: 1.03;
  letter-spacing: -.045em;
}

.rd-hero-content > p:last-child {
  max-width: 700px;
  margin: 0;
  color: #eef5f0;
  font-size: 1rem;
  line-height: 1.55;
}

.rd-section { padding: 44px 0; }
.rd-intro-section,
.rd-applications-section { background: #fff; }
.rd-focus-section,
.rd-process-section { background: var(--cream); }

.rd-split,
.rd-process-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
  gap: 34px;
  align-items: center;
}

.rd-process-layout {
  grid-template-columns: minmax(360px, .9fr) minmax(0, 1fr);
}

.rd-copy p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.65;
}

.rd-copy .rd-lead {
  color: var(--text);
  font-size: .98rem;
  font-weight: 600;
}

.rd-image-card {
  min-height: 270px;
  overflow: hidden;
  background: #e8eee7;
  border-radius: 12px;
  box-shadow: var(--shadow);
}

.rd-image-card img {
  width: 100%;
  height: 270px;
  object-fit: cover;
}

.rd-centred-heading {
  max-width: 760px;
  margin: 0 auto 24px;
  text-align: center;
}

.rd-centred-heading h2::after {
  margin-right: auto;
  margin-left: auto;
}

.rd-centred-heading p {
  margin: -6px auto 0;
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.6;
}

.rd-focus-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.rd-focus-grid article {
  min-height: 180px;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.rd-focus-grid svg {
  width: 38px;
  height: 38px;
  margin-bottom: 15px;
  padding: 9px;
  color: #fff;
  background: var(--green);
  border-radius: 10px;
}

.rd-focus-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .86rem;
}

.rd-focus-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.55;
}

.rd-process-list {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}

.rd-process-list > div {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: start;
}

.rd-process-list > div > span {
  width: 42px;
  height: 42px;
  display: grid;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  place-items: center;
  font-size: .68rem;
  font-weight: 800;
}

.rd-process-list h3 {
  margin: 1px 0 4px;
  color: var(--dark);
  font-size: .82rem;
}

.rd-process-list p {
  margin: 0;
  font-size: .72rem;
  line-height: 1.5;
}

.rd-check-list {
  display: grid;
  gap: 10px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.rd-check-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--dark);
  font-size: .8rem;
  font-weight: 650;
}

.rd-check-list svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  padding: 3px;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
}

.rd-cta { padding: 0 0 40px; }

.rd-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 28px 32px;
  color: #fff;
  background: linear-gradient(135deg, #0b4428, #082819);
  border-radius: 14px;
}

.rd-cta h2 {
  margin: 0 0 7px;
  font-size: clamp(1.4rem, 2.2vw, 2rem);
}

.rd-cta p:last-child {
  margin: 0;
  color: #dce8df;
  font-size: .8rem;
}

@media (max-width: 1100px) {
  .rd-split,
  .rd-process-layout {
    grid-template-columns: 1fr;
  }

  .rd-focus-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rd-cta-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 850px) {
  .rd-hero {
    min-height: 380px;
  }

  .rd-hero-content {
    padding: 42px 0;
  }

  .rd-hero h1 {
    font-size: clamp(2.3rem, 7vw, 3.5rem);
  }

  .rd-section {
    padding: 36px 0;
  }
}

@media (max-width: 560px) {
  .rd-hero {
    min-height: 330px;
  }

  .rd-hero-overlay {
    background: rgba(4,27,16,.72);
  }

  .rd-hero h1 {
    font-size: 2.35rem;
  }

  .rd-focus-grid {
    grid-template-columns: 1fr;
  }

  .rd-image-card,
  .rd-image-card img {
    min-height: 220px;
    height: 220px;
  }

  .rd-cta-inner {
    padding: 24px;
  }
}


/* FINAL R&D HERO ALIGNMENT — MATCH HOMEPAGE */
.rd-page .rd-hero {
  min-height: 430px;
}

.rd-page .rd-hero-content {
  width: min(1460px, calc(100% - 44px));
  max-width: none;
  margin: 0 auto;
  padding: 48px 0;
  text-align: left;
}

.rd-page .rd-hero-content h1,
.rd-page .rd-hero-content p,
.rd-page .rd-kicker {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
}

@media (max-width: 560px) {
  .rd-page .rd-hero-content {
    width: calc(100% - 26px);
    padding: 42px 0;
  }
}


/* ============================================================
   R&D SHOWCASE PAGE — FINAL SCOPED LAYOUT
   ============================================================ */
.rd-showcase .rd-hero {
  min-height: 430px;
}
.rd-showcase .rd-hero-content {
  width: min(1460px, calc(100% - 44px));
  max-width: none;
  margin: 0 auto;
  padding: 54px 0;
  text-align: left;
}
.rd-showcase .rd-hero-content h1,
.rd-showcase .rd-hero-content p,
.rd-showcase .rd-kicker {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
}
.rd-showcase .rd-hero-content h1 {
  max-width: 760px;
  font-size: clamp(2.8rem, 4.8vw, 5.3rem);
}
.rd-showcase .rd-hero-content > p:last-child {
  max-width: 620px;
}

.rd-process-band {
  padding: 30px 0;
  background: #f7f9f5;
}
.rd-process-band-grid {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 30px;
  align-items: center;
}
.rd-process-intro h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.15;
}
.rd-process-track {
  display: grid;
  grid-template-columns: repeat(9, auto);
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}
.rd-process-track article {
  width: min(150px, 13vw);
  text-align: center;
}
.rd-process-track article > span {
  width: 62px;
  height: 62px;
  display: grid;
  margin: 0 auto 12px;
  color: var(--green);
  border: 1px solid #b9d397;
  border-radius: 50%;
  place-items: center;
}
.rd-process-track article > span svg {
  width: 28px;
  height: 28px;
}
.rd-process-track h3 {
  margin: 0 0 6px;
  color: var(--dark);
  font-size: .76rem;
  line-height: 1.35;
}
.rd-process-track p {
  margin: 0;
  color: var(--muted);
  font-size: .66rem;
  line-height: 1.45;
}
.rd-arrow {
  width: 21px;
  margin-top: 20px;
  color: var(--green);
}

.rd-products-section {
  padding: 36px 0 30px;
}
.rd-section-heading {
  max-width: 820px;
  margin: 0 auto 22px;
  text-align: center;
}
.rd-section-heading .rd-kicker {
  text-align: center;
}
.rd-section-heading h2 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
}
.rd-section-heading > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .84rem;
}
.rd-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 20px;
}
.rd-product-card {
  display: grid;
  grid-template-columns: minmax(180px, .75fr) 1.25fr;
  gap: 24px;
  align-items: center;
  padding: 18px;
  background: linear-gradient(145deg, #f2f7ed, #fff);
  border: 1px solid var(--line);
  border-radius: 14px;
}
.rd-product-card img {
  width: 100%;
  height: 175px;
  object-fit: cover;
  border-radius: 10px;
}
.rd-product-card h3 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: 1.05rem;
}
.rd-product-card p {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: .76rem;
  line-height: 1.55;
}
.rd-product-card ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rd-product-card li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--dark);
  font-size: .72rem;
}
.rd-product-card li svg {
  width: 16px;
  height: 16px;
  color: var(--lime);
}

.rd-science-section {
  padding: 16px 0 28px;
}
.rd-science-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 28px;
  align-items: start;
}
.rd-science-intro h2 {
  margin: 0 0 10px;
  color: var(--dark);
  font-size: clamp(1.45rem, 2.1vw, 2rem);
  line-height: 1.15;
}
.rd-science-intro > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .74rem;
  line-height: 1.55;
}
.rd-science-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}
.rd-science-grid article {
  min-width: 0;
}
.rd-science-grid img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 10px;
}
.rd-science-grid h3 {
  margin: 9px 0 5px;
  color: var(--dark);
  font-size: .86rem;
}
.rd-science-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .68rem;
  line-height: 1.5;
}

.rd-purpose-strip {
  padding: 0 0 34px;
}
.rd-purpose-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 18px 24px;
  color: #fff;
  background: linear-gradient(135deg, #0a4929, #072d1c);
  border-radius: 12px;
}
.rd-purpose-inner > span {
  width: 46px;
  height: 46px;
  display: grid;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  place-items: center;
}
.rd-purpose-inner > span svg {
  width: 22px;
  height: 22px;
}
.rd-purpose-inner strong {
  display: block;
  margin-bottom: 3px;
}
.rd-purpose-inner p {
  margin: 0;
  color: #dce8df;
  font-size: .75rem;
}

@media (max-width: 1100px) {
  .rd-process-band-grid,
  .rd-science-layout {
    grid-template-columns: 1fr;
  }
  .rd-process-track {
    grid-template-columns: repeat(5, 1fr);
  }
  .rd-process-track article {
    width: auto;
  }
  .rd-arrow {
    display: none;
  }
}

@media (max-width: 850px) {
  .rd-product-grid,
  .rd-science-grid {
    grid-template-columns: 1fr;
  }
  .rd-product-card {
    grid-template-columns: 1fr;
  }
  .rd-product-card img {
    height: 220px;
  }
  .rd-purpose-inner {
    grid-template-columns: auto 1fr;
  }
  .rd-purpose-inner .btn {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 560px) {
  .rd-showcase .rd-hero-content {
    width: calc(100% - 26px);
    padding: 42px 0;
  }
  .rd-showcase .rd-hero-content h1 {
    font-size: 2.45rem;
  }
  .rd-process-track {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .rd-process-track article {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 12px;
    text-align: left;
  }
  .rd-process-track article > span {
    width: 50px;
    height: 50px;
    margin: 0;
    grid-row: 1 / 3;
  }
  .rd-process-track h3,
  .rd-process-track p {
    text-align: left;
  }
  .rd-purpose-inner {
    grid-template-columns: 1fr;
  }
}


/* FINAL R&D CONTENT WIDTHS AND RETAINED RESEARCH PRIORITIES */
.rd-showcase .rd-process-band-grid {
  grid-template-columns: 310px minmax(0, 1fr);
  gap: 38px;
}

.rd-showcase .rd-science-layout {
  grid-template-columns: 310px minmax(0, 1fr);
  gap: 38px;
}

.rd-priorities-section {
  padding: 12px 0 30px;
  background: #f7f9f5;
}

.rd-priority-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.rd-priority-grid article {
  min-height: 175px;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.rd-priority-grid article > span {
  width: 40px;
  height: 40px;
  display: grid;
  margin-bottom: 14px;
  color: #fff;
  background: var(--green);
  border-radius: 10px;
  place-items: center;
}

.rd-priority-grid article > span svg {
  width: 20px;
  height: 20px;
}

.rd-priority-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .9rem;
}

.rd-priority-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.55;
}

@media (max-width: 1100px) {
  .rd-showcase .rd-process-band-grid,
  .rd-showcase .rd-science-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 850px) {
  .rd-priority-grid {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   MEET THE TEAM PAGE — ORGANIC PORTRAIT CARDS
   ============================================================ */
.team-page {
  overflow: hidden;
}

.team-kicker {
  margin: 0 0 10px;
  color: var(--lime);
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.team-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(125deg, #062719 0%, #0a4a2b 58%, #7aa82a 150%);
}

.team-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 75% 15%, rgba(255,255,255,.12), transparent 22%),
    linear-gradient(90deg, rgba(4,27,16,.36), transparent 70%);
}

.team-hero-content {
  position: relative;
  z-index: 3;
  padding: 54px 0;
}

.team-hero-content h1 {
  max-width: 760px;
  margin: 0 0 16px;
  font-size: clamp(3rem, 5vw, 5.3rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.team-hero-content > p:last-child {
  max-width: 660px;
  margin: 0;
  color: #e4eee7;
  font-size: 1rem;
  line-height: 1.65;
}

.team-hero-visual {
  position: absolute;
  inset: 0 0 0 55%;
  z-index: 2;
}

.team-hero-shape {
  position: absolute;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 46% 54% 58% 42% / 48% 42% 58% 52%;
}

.team-hero-shape-one {
  width: 470px;
  height: 400px;
  right: 4%;
  top: 5%;
  background: rgba(255,255,255,.06);
  transform: rotate(-8deg);
}

.team-hero-shape-two {
  width: 330px;
  height: 300px;
  right: 23%;
  bottom: -18%;
  background: rgba(136,181,46,.16);
  transform: rotate(17deg);
}

.team-hero-portrait {
  position: absolute;
  display: grid;
  color: rgba(255,255,255,.7);
  background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 24px 60px rgba(0,0,0,.22);
  place-items: center;
}

.team-hero-portrait svg {
  width: 42%;
  height: 42%;
}

.portrait-a {
  width: 190px;
  height: 250px;
  right: 29%;
  top: 10%;
  border-radius: 44% 56% 35% 65% / 38% 40% 60% 62%;
  transform: rotate(-4deg);
}

.portrait-b {
  width: 170px;
  height: 220px;
  right: 8%;
  top: 26%;
  border-radius: 58% 42% 62% 38% / 45% 62% 38% 55%;
  transform: rotate(7deg);
}

.portrait-c {
  width: 120px;
  height: 150px;
  right: 45%;
  bottom: -5%;
  border-radius: 38% 62% 48% 52% / 57% 43% 57% 43%;
  transform: rotate(11deg);
}

.team-intro-section {
  padding: 38px 0 26px;
}

.team-intro-grid {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: 64px;
  align-items: end;
}

.team-intro-grid h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  letter-spacing: -.03em;
}

.team-intro-grid > p {
  margin: 0;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.7;
}

.team-members-section {
  padding: 20px 0 42px;
}

.team-section-heading {
  display: grid;
  grid-template-columns: 1fr minmax(320px, .6fr);
  gap: 42px;
  align-items: end;
  margin-bottom: 24px;
}

.team-section-heading h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.65rem, 2.7vw, 2.45rem);
  letter-spacing: -.03em;
}

.team-section-heading > p {
  margin: 0;
  color: var(--muted);
  font-size: .76rem;
  line-height: 1.6;
}

.team-showcase-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.team-profile-card {
  min-width: 0;
}

.team-profile-card button {
  width: 100%;
  padding: 0;
  overflow: hidden;
  text-align: left;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px 18px 34px 18px;
  box-shadow: 0 12px 30px rgba(4,27,16,.08);
  cursor: pointer;
  transition: transform .22s ease, box-shadow .22s ease;
}

.team-profile-card:nth-child(2n) button {
  border-radius: 34px 18px 18px 18px;
}

.team-profile-card:nth-child(3n) button {
  border-radius: 18px 36px 18px 36px;
}

.team-profile-card button:hover {
  box-shadow: 0 20px 42px rgba(4,27,16,.15);
  transform: translateY(-5px);
}

.team-portrait-placeholder {
  position: relative;
  height: 260px;
  display: grid;
  overflow: hidden;
  place-items: center;
}

.team-portrait-placeholder::before,
.team-portrait-placeholder::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}

.team-portrait-placeholder::before {
  width: 210px;
  height: 210px;
  right: -40px;
  top: -60px;
  background: rgba(255,255,255,.19);
}

.team-portrait-placeholder::after {
  width: 170px;
  height: 170px;
  left: -50px;
  bottom: -70px;
  background: rgba(255,255,255,.12);
}

.portrait-tone-1 { background: linear-gradient(145deg, #0b5130, #96bd47); }
.portrait-tone-2 { background: linear-gradient(145deg, #103f36, #5b9c71); }
.portrait-tone-3 { background: linear-gradient(145deg, #2c573f, #b1c67a); }
.portrait-tone-4 { background: linear-gradient(145deg, #174232, #739b49); }
.portrait-tone-5 { background: linear-gradient(145deg, #40532a, #a9c45e); }
.portrait-tone-6 { background: linear-gradient(145deg, #173d42, #6ba49a); }
.portrait-tone-7 { background: linear-gradient(145deg, #39512d, #84ad57); }
.portrait-tone-8 { background: linear-gradient(145deg, #284b38, #91b86d); }

.portrait-initials {
  position: relative;
  z-index: 2;
  color: rgba(255,255,255,.94);
  font-size: 3.2rem;
  font-weight: 800;
  letter-spacing: -.06em;
}

.portrait-guide {
  position: absolute;
  left: 17px;
  bottom: 15px;
  z-index: 2;
  padding: 5px 8px;
  color: rgba(255,255,255,.84);
  background: rgba(4,27,16,.25);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.team-profile-summary {
  padding: 18px 19px 20px;
}

.team-department {
  display: block;
  margin-bottom: 7px;
  color: var(--green);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.team-profile-summary h3 {
  margin: 0 0 4px;
  color: var(--dark);
  font-size: .98rem;
}

.team-profile-summary p {
  margin: 0;
  color: var(--muted);
  font-size: .72rem;
}

.team-view-profile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 17px;
  padding-top: 13px;
  color: var(--dark);
  border-top: 1px solid var(--line);
  font-size: .64rem;
  font-weight: 800;
  text-transform: uppercase;
}

.team-view-profile svg {
  width: 16px;
  height: 16px;
  color: var(--green);
}

.team-culture-section {
  padding: 36px 0;
  background: var(--cream);
}

.team-culture-grid {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: 56px;
  align-items: center;
}

.team-culture-copy h2 {
  margin: 0 0 12px;
  color: var(--dark);
  font-size: clamp(1.7rem, 2.7vw, 2.5rem);
  letter-spacing: -.03em;
}

.team-culture-copy > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.65;
}

.team-culture-points {
  display: grid;
  gap: 12px;
}

.team-culture-points article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  align-items: start;
  padding: 15px 17px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.team-culture-points article > svg {
  width: 38px;
  height: 38px;
  padding: 9px;
  color: #fff;
  background: var(--green);
  border-radius: 11px;
}

.team-culture-points h3 {
  margin: 0 0 3px;
  color: var(--dark);
  font-size: .82rem;
}

.team-culture-points p {
  margin: 0;
  color: var(--muted);
  font-size: .69rem;
  line-height: 1.45;
}

.team-join-strip {
  padding: 34px 0;
}

.team-join-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 27px 30px;
  color: #fff;
  background: linear-gradient(135deg, #0a4929, #062719);
  border-radius: 16px;
}

.team-join-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.4rem, 2.2vw, 2rem);
}

.team-join-inner > div > p:last-child {
  margin: 0;
  color: #dce8df;
  font-size: .78rem;
}

.team-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 160;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(4,27,16,.72);
  backdrop-filter: blur(8px);
}

.team-modal-overlay.open {
  display: flex;
}

.team-modal {
  position: relative;
  width: min(480px, 100%);
  padding: 30px;
  text-align: center;
  background: #fff;
  border-radius: 26px 26px 48px 26px;
  box-shadow: 0 30px 80px rgba(0,0,0,.3);
}

.team-modal-close {
  position: absolute;
  top: 15px;
  right: 17px;
  width: 34px;
  height: 34px;
  color: var(--muted);
  background: var(--cream);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}

.team-modal-portrait {
  width: 110px;
  height: 125px;
  display: grid;
  margin: 0 auto 16px;
  color: #fff;
  background: linear-gradient(145deg, #0b5130, #96bd47);
  border-radius: 44% 56% 38% 62% / 43% 40% 60% 57%;
  place-items: center;
}

.team-modal-portrait svg {
  width: 48px;
  height: 48px;
}

.team-modal-department {
  margin: 0 0 5px;
  color: var(--green);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.team-modal h3 {
  margin: 0 0 4px;
  color: var(--dark);
  font-size: 1.35rem;
}

.team-modal-role {
  margin: 0 0 15px;
  color: var(--lime);
  font-size: .78rem;
  font-weight: 750;
}

.team-modal-bio {
  margin: 0;
  color: var(--muted);
  font-size: .83rem;
  line-height: 1.65;
}

@media (max-width: 1100px) {
  .team-showcase-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .team-hero-visual {
    left: 48%;
    opacity: .72;
  }
}

@media (max-width: 850px) {
  .team-hero-visual {
    opacity: .35;
  }

  .team-intro-grid,
  .team-section-heading,
  .team-culture-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .team-showcase-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .team-join-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .team-hero {
    min-height: 390px;
  }

  .team-hero-content {
    padding: 44px 0;
  }

  .team-hero-content h1 {
    font-size: 2.55rem;
  }

  .team-hero-visual {
    inset: 0;
    opacity: .2;
  }

  .team-showcase-grid {
    grid-template-columns: 1fr;
  }

  .team-portrait-placeholder {
    height: 310px;
  }

  .team-join-inner {
    padding: 24px;
  }
}


/* ============================================================
   MEET THE TEAM — FINAL PHOTO HERO + CLEAN INTRO
   ============================================================ */
.team-page .team-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  background: #082819;
}

.team-page .team-hero-image,
.team-page .team-hero-overlay {
  position: absolute;
  inset: 0;
}

.team-page .team-hero-image {
  background:
    radial-gradient(circle at 78% 24%, rgba(173, 210, 102, .42) 0 10%, transparent 10.5%),
    radial-gradient(circle at 88% 68%, rgba(255, 255, 255, .12) 0 15%, transparent 15.5%),
    linear-gradient(125deg, #062719 0%, #0b5934 58%, #77a83b 100%);
}

.team-page .team-hero-overlay {
  background: linear-gradient(
    90deg,
    rgba(4,27,16,.92) 0%,
    rgba(4,27,16,.76) 38%,
    rgba(4,27,16,.22) 67%,
    rgba(4,27,16,.05) 100%
  );
}

.team-page .team-hero::after,
.team-page .team-hero-visual,
.team-page .team-hero-shape,
.team-page .team-hero-portrait {
  display: none;
}

.team-page .team-hero-content {
  position: relative;
  z-index: 2;
  width: min(1460px, calc(100% - 44px));
  margin: 0 auto;
  padding: 54px 0;
  text-align: left;
}

.team-page .team-hero-content h1,
.team-page .team-hero-content p,
.team-page .team-hero-content .team-kicker {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
}

.team-intro-section {
  padding: 36px 0 18px;
}

.team-intro-panel {
  display: grid;
  grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr);
  gap: 58px;
  align-items: center;
  padding: 28px 32px;
  background: linear-gradient(145deg, #f6f8f3, #fff);
  border: 1px solid var(--line);
  border-radius: 16px;
}

.team-intro-heading h2 {
  max-width: 680px;
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.75rem, 2.8vw, 2.65rem);
  line-height: 1.13;
  letter-spacing: -.035em;
}

.team-intro-copy > p {
  margin: 0;
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.72;
}

.team-intro-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.team-intro-points span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 11px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: .65rem;
  font-weight: 750;
}

.team-intro-points svg {
  width: 15px;
  height: 15px;
  color: var(--green);
}

.team-members-section {
  padding-top: 26px;
}

.team-section-heading {
  grid-template-columns: minmax(0, 1fr) minmax(320px, .52fr);
  gap: 48px;
  align-items: center;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.team-section-heading h2 {
  max-width: 760px;
}

.team-section-heading > p {
  max-width: 460px;
  justify-self: end;
  text-align: left;
}

@media (max-width: 850px) {
  .team-intro-panel,
  .team-section-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .team-section-heading > p {
    max-width: none;
    justify-self: start;
  }
}

@media (max-width: 560px) {
  .team-page .team-hero-content {
    width: calc(100% - 26px);
    padding: 44px 0;
  }

  .team-page .team-hero-image {
    background-position: 68% center;
  }

  .team-page .team-hero-overlay {
    background: rgba(4,27,16,.72);
  }

  .team-intro-panel {
    padding: 23px 20px;
  }
}


/* ============================================================
   AEROGEL BASED PRODUCTS — FINAL PAGE
   ============================================================ */
.aerogel-products-page { overflow: hidden; }
.ap-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ap-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}
.ap-hero-image,
.ap-hero-overlay { position: absolute; inset: 0; }
.ap-hero-image {
  background: url("images/aerogel-products-hero.webp") center / cover no-repeat;
}
.ap-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.95) 0%, rgba(4,27,16,.78) 39%, rgba(4,27,16,.2) 71%, rgba(4,27,16,.04) 100%);
}
.ap-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
  text-align: left;
}
.ap-hero-content h1 {
  max-width: 760px;
  margin: 0 0 16px;
  font-size: clamp(3rem, 5vw, 5.3rem);
  line-height: 1;
  letter-spacing: -.045em;
}
.ap-hero-content > p:not(.ap-kicker) {
  max-width: 650px;
  margin: 0;
  color: #e6eee8;
  font-size: 1rem;
  line-height: 1.65;
}
.ap-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 23px;
}

.ap-feature-strip {
  padding: 21px 0;
  background: #f7f9f5;
  border-bottom: 1px solid var(--line);
}
.ap-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
}
.ap-feature-grid article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 13px;
  align-items: center;
  padding: 8px 20px;
  border-right: 1px solid var(--line);
}
.ap-feature-grid article:last-child { border-right: 0; }
.ap-feature-grid svg {
  width: 38px;
  height: 38px;
  padding: 9px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.ap-feature-grid strong {
  display: block;
  margin-bottom: 3px;
  color: var(--dark);
  font-size: .75rem;
}
.ap-feature-grid span {
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.4;
}

.ap-range {
  padding: 38px 0 42px;
  background: #fff;
}
.ap-section-heading,
.ap-industries-heading {
  max-width: 820px;
  margin: 0 auto 24px;
  text-align: center;
}
.ap-industries-heading { max-width: 1000px; }
.ap-range .ap-section-heading { max-width: none; }
.ap-range .ap-section-heading > p:last-child { max-width: 820px; margin-inline: auto; }
.ap-section-heading .ap-kicker,
.ap-industries-heading .ap-kicker { text-align: center; }
.ap-section-heading h2,
.ap-industries-heading h2 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: clamp(1.9rem, 3vw, 2.8rem);
  letter-spacing: -.035em;
}
.ap-section-heading > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.6;
}

.ap-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}
.ap-product-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(4,27,16,.08);
}
.ap-product-card > img {
  width: 100%;
  height: 190px;
  object-fit: cover;
}
.ap-card-content {
  position: relative;
  padding: 24px 20px 19px;
}
.ap-icon {
  position: absolute;
  top: -22px;
  left: 18px;
  width: 43px;
  height: 43px;
  display: grid;
  color: #fff;
  background: var(--green);
  border: 3px solid #fff;
  border-radius: 10px;
  place-items: center;
}
.ap-icon svg { width: 20px; height: 20px; }
.ap-card-content h3 {
  margin: 6px 0 7px;
  color: var(--dark);
  font-size: .98rem;
}
.ap-card-content p {
  min-height: 62px;
  margin: 0 0 14px;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.55;
}
.ap-card-content a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--green);
  font-size: .65rem;
  font-weight: 800;
  text-transform: uppercase;
}
.ap-card-content a svg { width: 15px; height: 15px; }

.ap-industries {
  padding: 34px 0;
  background: #f7f9f5;
}
.ap-industry-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0,1fr));
  gap: 10px;
}
.ap-industry-grid span {
  min-height: 96px;
  display: grid;
  gap: 7px;
  align-content: center;
  justify-items: center;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  font-size: .66rem;
  font-weight: 750;
  text-align: center;
}
.ap-industry-grid svg {
  width: 30px;
  height: 30px;
  color: var(--green);
}

.ap-platform {
  padding: 38px 0;
}
.ap-platform-grid {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0,1.22fr);
  gap: 42px;
  align-items: center;
}
.ap-platform-copy h2 {
  margin: 0 0 11px;
  color: var(--dark);
  font-size: clamp(1.7rem, 2.8vw, 2.5rem);
}
.ap-platform-copy > p:not(.ap-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.65;
}
.ap-platform-copy ul {
  display: grid;
  gap: 8px;
  margin: 17px 0 0;
  padding: 0;
  list-style: none;
}
.ap-platform-copy li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--dark);
  font-size: .72rem;
}
.ap-platform-copy li svg {
  width: 17px;
  height: 17px;
  color: var(--lime);
}
.ap-platform-grid > img {
  width: 100%;
  height: 285px;
  object-fit: cover;
  border-radius: 14px;
  box-shadow: var(--shadow);
}

.ap-performance {
  padding: 24px 0;
  background: #f7f9f5;
}
.ap-performance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
}
.ap-performance-grid article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 13px;
  align-items: center;
  padding: 10px 25px;
  border-right: 1px solid var(--line);
}
.ap-performance-grid article:last-child { border-right: 0; }
.ap-performance-grid svg {
  width: 38px;
  height: 38px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.ap-performance-grid strong {
  display: block;
  margin-bottom: 3px;
  color: var(--dark);
  font-size: .76rem;
}
.ap-performance-grid span {
  color: var(--muted);
  font-size: .65rem;
  line-height: 1.4;
}

.ap-cta { padding: 34px 0; }
.ap-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 26px;
  align-items: center;
  padding: 27px 30px;
  color: #fff;
  background: linear-gradient(135deg,#0b4a2a,#062719);
  border-radius: 15px;
}
.ap-cta-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem,2.3vw,2rem);
}
.ap-cta-inner > div > p:last-child {
  margin: 0;
  color: #dce8df;
  font-size: .76rem;
}

@media (max-width: 1000px) {
  .ap-feature-grid,
  .ap-product-grid,
  .ap-performance-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ap-industry-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .ap-platform-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .ap-feature-grid,
  .ap-product-grid,
  .ap-performance-grid,
  .ap-industry-grid,
  .ap-cta-inner { grid-template-columns: 1fr; }
  .ap-feature-grid article,
  .ap-performance-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
  .ap-feature-grid article:last-child,
  .ap-performance-grid article:last-child { border-bottom: 0; }
}
@media (max-width: 560px) {
  .ap-hero { min-height: 390px; }
  .ap-hero-image { background-position: 66% center; }
  .ap-hero-overlay { background: rgba(4,27,16,.72); }
  .ap-hero-content { padding: 44px 0; }
  .ap-hero-content h1 { font-size: 2.55rem; }
  .ap-product-card > img { height: 220px; }
}


/* ============================================================
   SOLAR PANEL RECYCLING PAGE
   ============================================================ */
.solar-page { overflow: hidden; }
.solar-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.solar-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}
.solar-hero-image,
.solar-hero-overlay { position: absolute; inset: 0; }
.solar-hero-image {
  background: url("images/solar-recycling-hero.webp") center 48% / cover no-repeat;
}
.solar-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.95) 0%, rgba(4,27,16,.8) 40%, rgba(4,27,16,.22) 72%, rgba(4,27,16,.04) 100%);
}
.solar-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
  text-align: left;
}
.solar-hero-content h1 {
  max-width: 760px;
  margin: 0 0 16px;
  font-size: clamp(3rem, 5vw, 5.3rem);
  line-height: 1;
  letter-spacing: -.045em;
}
.solar-hero-content > p:not(.solar-kicker) {
  max-width: 650px;
  margin: 0 0 22px;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}

.solar-intro-section { padding: 38px 0; }
.solar-intro-grid {
  display: grid;
  grid-template-columns: minmax(0,.88fr) minmax(430px,1.12fr);
  gap: 52px;
  align-items: center;
}
.solar-intro-copy h2,
.solar-materials-intro h2,
.solar-impact-copy h2 {
  margin: 0 0 13px;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.solar-intro-copy > p:not(.solar-kicker),
.solar-materials-intro > p:not(.solar-kicker),
.solar-impact-copy > p:not(.solar-kicker) {
  margin: 0 0 13px;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.68;
}
.solar-intro-grid > img,
.solar-impact-grid > img {
  width: 100%;
  height: 315px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: var(--shadow);
}
.solar-intro-note {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: center;
  margin-top: 18px;
  padding: 14px 16px;
  background: var(--cream);
  border-left: 3px solid var(--lime);
  border-radius: 10px;
}
.solar-intro-note svg {
  width: 34px;
  height: 34px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.solar-intro-note span {
  color: var(--dark);
  font-size: .72rem;
  line-height: 1.45;
}

.solar-principles-section {
  padding: 22px 0;
  background: #f7f9f5;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.solar-principles-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
}
.solar-principles-grid article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: center;
  padding: 8px 21px;
  border-right: 1px solid var(--line);
}
.solar-principles-grid article:last-child { border-right: 0; }
.solar-principles-grid svg {
  width: 38px;
  height: 38px;
  padding: 9px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.solar-principles-grid strong {
  display: block;
  margin-bottom: 3px;
  color: var(--dark);
  font-size: .75rem;
}
.solar-principles-grid span {
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.4;
}

.solar-process-section {
  padding: 40px 0 44px;
}
.solar-section-heading {
  max-width: 820px;
  margin: 0 auto 25px;
  text-align: center;
}
.solar-section-heading .solar-kicker { text-align: center; }
.solar-section-heading h2 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: clamp(1.9rem,3vw,2.8rem);
}
.solar-section-heading > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.6;
}
.solar-process-grid {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 12px;
}
.solar-process-grid article {
  position: relative;
  min-height: 205px;
  padding: 22px 16px 18px;
  text-align: center;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.solar-process-grid article > span {
  position: absolute;
  top: -12px;
  left: 50%;
  width: 26px;
  height: 26px;
  display: grid;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  transform: translateX(-50%);
  place-items: center;
  font-size: .63rem;
  font-weight: 800;
}
.solar-process-grid svg {
  width: 43px;
  height: 43px;
  margin: 12px auto 10px;
  padding: 10px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.solar-process-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .76rem;
}
.solar-process-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.45;
}

.solar-materials-section {
  padding: 38px 0;
  background: #f7f9f5;
}
.solar-materials-layout {
  display: grid;
  grid-template-columns: 270px minmax(0,1fr);
  gap: 38px;
  align-items: start;
}
.solar-materials-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 15px;
}
.solar-materials-grid article {
  min-height: 185px;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.solar-materials-grid svg {
  width: 38px;
  height: 38px;
  margin-bottom: 13px;
  padding: 9px;
  color: #fff;
  background: var(--green);
  border-radius: 10px;
}
.solar-materials-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .8rem;
}
.solar-materials-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.5;
}

.solar-impact-section { padding: 38px 0; }
.solar-impact-grid {
  display: grid;
  grid-template-columns: minmax(0,.86fr) minmax(430px,1.14fr);
  gap: 48px;
  align-items: center;
}
.solar-impact-points {
  display: grid;
  gap: 8px;
  margin-top: 17px;
}
.solar-impact-points span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--dark);
  font-size: .72rem;
}
.solar-impact-points svg {
  width: 17px;
  height: 17px;
  color: var(--lime);
}

.solar-partner-section { padding: 0 0 36px; }
.solar-partner-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 26px;
  align-items: center;
  padding: 28px 30px;
  color: #fff;
  background: linear-gradient(135deg,#0a4929,#062719);
  border-radius: 15px;
}
.solar-partner-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem,2.3vw,2rem);
}
.solar-partner-inner > div > p:last-child {
  margin: 0;
  color: #dce8df;
  font-size: .76rem;
}

@media (max-width: 1100px) {
  .solar-process-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .solar-materials-layout { grid-template-columns: 1fr; }
}
@media (max-width: 850px) {
  .solar-intro-grid,
  .solar-impact-grid { grid-template-columns: 1fr; }
  .solar-principles-grid,
  .solar-materials-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .solar-partner-inner { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .solar-hero { min-height: 390px; }
  .solar-hero-image { background-position: 62% center; }
  .solar-hero-overlay { background: rgba(4,27,16,.72); }
  .solar-hero-content { padding: 44px 0; }
  .solar-hero-content h1 { font-size: 2.55rem; }
  .solar-principles-grid,
  .solar-materials-grid,
  .solar-process-grid { grid-template-columns: 1fr; }
  .solar-principles-grid article {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .solar-principles-grid article:last-child { border-bottom: 0; }
}

/* === Use Cases page helpers === */
html body { background:#fff; }

/* ============================================================
   USE CASES — CLEAN ICONS, NO GREEN SQUARE BLOCKS
   ============================================================ */
.use-cases-hero .clean-icon,
.overview-card .clean-icon,
.industry-card .clean-icon {
  width: auto;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0 0 14px;
  padding: 0;
  color: var(--green);
  background: transparent;
  border: 0;
  border-radius: 0;
}

.overview-card .clean-icon svg {
  width: 30px;
  height: 30px;
  stroke-width: 1.7;
}

.industry-card .clean-icon svg {
  width: 28px;
  height: 28px;
  stroke-width: 1.7;
}

.overview-card,
.industry-card {
  position: relative;
}

.overview-card::before,
.industry-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 22px;
  width: 42px;
  height: 3px;
  background: var(--lime);
  border-radius: 999px;
}

.overview-card {
  padding-top: 27px;
}

.industry-card {
  padding-top: 27px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(4, 27, 16, 0.06);
}

.app-card {
  transition: transform .22s ease, box-shadow .22s ease;
}

.app-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(4, 27, 16, 0.13);
}

.app-card-content {
  padding-top: 20px;
}

.app-tag {
  background: transparent;
  border: 1px solid #cfe0d2;
  color: var(--green);
}

@media (max-width: 800px) {
  .overview-card::before,
  .industry-card::before {
    left: 20px;
  }
}


/* FINAL USE CASES OVERVIEW CARD SPACING — SCOPED */
.use-cases-hero + .overview-strip .overview-card {
  padding: 18px 22px 22px;
}

.use-cases-hero + .overview-strip .overview-card::before {
  top: 0;
}

.use-cases-hero + .overview-strip .overview-card strong {
  margin-top: 0;
}


/* ============================================================
   GYPSUM VS AEROGEL PAGE
   ============================================================ */
.comparison-page { overflow: hidden; }
.comparison-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.comparison-kicker.warning { color: #cf5e32; }

.comparison-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}
.comparison-hero-image,
.comparison-hero-overlay { position: absolute; inset: 0; }
.comparison-hero-image {
  background: url("images/gypsum-aerogel-hero.webp") center / cover no-repeat;
}
.comparison-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.96) 0%, rgba(4,27,16,.8) 40%, rgba(4,27,16,.2) 73%, rgba(4,27,16,.04) 100%);
}
.comparison-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
  text-align: left;
}
.comparison-hero-content h1 {
  max-width: 760px;
  margin: 0 0 16px;
  font-size: clamp(3rem, 5vw, 5.3rem);
  line-height: .96;
  letter-spacing: -.045em;
}
.comparison-hero-content h1 span { color: var(--lime); }
.comparison-hero-content > p:not(.comparison-kicker) {
  max-width: 650px;
  margin: 0 0 22px;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}

.comparison-context-section { padding: 40px 0; }
.comparison-context-grid {
  display: grid;
  grid-template-columns: minmax(390px,.85fr) minmax(0,1.15fr);
  gap: 48px;
  align-items: center;
}
.comparison-context-grid > img,
.comparison-aerogel-grid > img {
  width: 100%;
  height: 355px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: var(--shadow);
}
.comparison-context-copy h2,
.comparison-aerogel-copy h2 {
  margin: 0 0 13px;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.comparison-context-copy > p:not(.comparison-kicker),
.comparison-aerogel-copy > p:not(.comparison-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: .81rem;
  line-height: 1.7;
}
.comparison-fact-grid {
  display: grid;
  gap: 11px;
  margin-top: 19px;
}
.comparison-fact-grid article,
.comparison-benefit-grid article {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 13px;
  align-items: start;
  padding: 14px 16px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 11px;
}
.comparison-fact-grid svg {
  width: 35px;
  height: 35px;
  padding: 8px;
  color: #cf5e32;
  border: 1px solid #e7b49f;
  border-radius: 50%;
}
.comparison-fact-grid h3,
.comparison-benefit-grid h3 {
  margin: 0 0 3px;
  color: var(--dark);
  font-size: .78rem;
}
.comparison-fact-grid p,
.comparison-benefit-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.5;
}

.comparison-table-section {
  padding: 40px 0 44px;
  background: #f7f9f5;
}
.comparison-section-heading {
  max-width: 860px;
  margin: 0 auto 24px;
  text-align: center;
}
.comparison-section-heading .comparison-kicker { text-align: center; }
.comparison-section-heading h2 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: clamp(1.9rem,3vw,2.8rem);
}
.comparison-section-heading > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .79rem;
  line-height: 1.6;
}
.comparison-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(4,27,16,.08);
}
.comparison-table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
  background: #fff;
}
.comparison-table th,
.comparison-table td {
  padding: 14px 16px;
  text-align: left;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: .72rem;
  line-height: 1.45;
}
.comparison-table th {
  color: #fff;
  background: var(--dark);
  font-size: .69rem;
  text-transform: uppercase;
}
.comparison-table .aerogel-column {
  background: #f0f6e9;
  color: var(--green);
  font-weight: 750;
}
.comparison-table th.aerogel-column {
  color: #fff;
  background: linear-gradient(135deg,var(--green),#6f9d24);
}
.comparison-table tr:last-child td { border-bottom: 0; }
.comparison-table th:last-child,
.comparison-table td:last-child { border-right: 0; }

.comparison-aerogel-section { padding: 40px 0; }
.comparison-aerogel-grid {
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(390px,.88fr);
  gap: 48px;
  align-items: center;
}
.comparison-benefit-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 11px;
  margin-top: 19px;
}
.comparison-benefit-grid svg {
  width: 35px;
  height: 35px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}

.comparison-decision-section {
  padding: 36px 0;
  background: #f7f9f5;
}
.comparison-decision-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}
.comparison-decision-grid article {
  padding: 25px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.comparison-decision-grid .comparison-decision-highlight {
  background: linear-gradient(145deg,#eef5e8,#fff);
  border-color: #c8dcae;
}
.comparison-decision-grid h3 {
  margin: 0 0 12px;
  color: var(--dark);
  font-size: 1rem;
}
.comparison-decision-grid ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
}
.comparison-decision-grid li {
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.5;
}

.comparison-cta-section { padding: 34px 0; }
.comparison-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 30px;
  color: #fff;
  background: linear-gradient(135deg,#0a4929,#062719);
  border-radius: 15px;
}
.comparison-cta-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem,2.3vw,2rem);
}
.comparison-cta-inner > div > p:last-child {
  margin: 0;
  color: #dce8df;
  font-size: .76rem;
}

@media (max-width: 900px) {
  .comparison-context-grid,
  .comparison-aerogel-grid,
  .comparison-decision-grid,
  .comparison-cta-inner { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .comparison-hero { min-height: 390px; }
  .comparison-hero-image { background-position: 65% center; }
  .comparison-hero-overlay { background: rgba(4,27,16,.73); }
  .comparison-hero-content { padding: 44px 0; }
  .comparison-hero-content h1 { font-size: 2.55rem; }
  .comparison-benefit-grid { grid-template-columns: 1fr; }
}


/* ============================================================
   FINAL SITE-WIDE KICKER STANDARD
   Green, same size and font across every page.
   Hero headings, paragraphs and positioning remain unchanged.
   ============================================================ */
.story-kicker,
.location-kicker,
.locations-kicker,
.rd-kicker,
.team-kicker,
.products-kicker,
.ap-kicker,
.solar-kicker,
.comparison-kicker,
.page-kicker,
.use-cases-hero .eyebrow,
.team-page .team-kicker,
.rd-page .rd-kicker,
.rd-showcase .rd-kicker,
.products-page .products-kicker,
.aerogel-products-page .ap-kicker,
.solar-page .solar-kicker,
.comparison-page .comparison-kicker {
  color: var(--lime) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Keep warning labels orange where intentionally used outside the hero */
.comparison-page .comparison-context-section .comparison-kicker.warning,
.comparison-page .comparison-decision-section .comparison-kicker.warning {
  color: #cf5e32 !important;
}


/* ============================================================
   EXPANDED FIRE PROTECTION PAGE
   ============================================================ */
.firex-page { overflow: hidden; }

.fire-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.firex-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  color: #fff;
  background: var(--dark);
}
.firex-hero-image,
.firex-hero-overlay { position: absolute; inset: 0; }
.firex-hero-image {
  background: url("images/fire-building-hero.webp") center / cover no-repeat;
}
.firex-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.95) 0%, rgba(4,27,16,.8) 40%, rgba(4,27,16,.18) 73%, rgba(4,27,16,.04) 100%);
}
.firex-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
}
.firex-hero-content h1 {
  max-width: 820px;
  margin: 0 0 16px;
  font-size: clamp(3rem,5vw,5rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.firex-hero-content > p:not(.fire-kicker) {
  max-width: 690px;
  margin: 0;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}
.firex-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.firex-intro { padding: 38px 0 24px; }
.firex-intro-grid {
  display: grid;
  grid-template-columns: minmax(330px,.8fr) minmax(0,1.2fr);
  gap: 58px;
  align-items: end;
}
.firex-intro-grid h2,
.firex-how-copy h2,
.firex-applications-copy h2,
.firex-video-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.firex-intro-grid > p {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.firex-how-section { padding: 30px 0 42px; }
.firex-how-grid,
.firex-video-grid {
  display: grid;
  grid-template-columns: minmax(420px,.95fr) minmax(0,1.05fr);
  gap: 48px;
  align-items: center;
}
.firex-how-grid > img,
.firex-video-grid video {
  width: 100%;
  height: 350px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: var(--shadow);
}
.firex-how-copy > p:not(.fire-kicker),
.firex-video-copy > p:not(.fire-kicker),
.firex-applications-copy > p:not(.fire-kicker) {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.68;
}
.firex-how-points {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}
.firex-how-points article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  padding: 13px 15px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.firex-how-points svg {
  width: 34px;
  height: 34px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.firex-how-points h3 {
  margin: 0 0 3px;
  color: var(--dark);
  font-size: .75rem;
}
.firex-how-points p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.45;
}

.firex-solutions {
  padding: 40px 0 44px;
  background: #f7f9f5;
}
.firex-section-heading {
  max-width: 850px;
  margin: 0 auto 25px;
  text-align: center;
}
.firex-section-heading .fire-kicker { text-align: center; }
.firex-section-heading h2 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: clamp(1.9rem,3vw,2.8rem);
}
.firex-section-heading > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .79rem;
  line-height: 1.6;
}
.firex-solution-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 19px;
}
.firex-solution-card {
  display: grid;
  grid-template-columns: minmax(220px,.8fr) minmax(0,1.2fr);
  gap: 22px;
  align-items: center;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.firex-solution-card img {
  width: 100%;
  height: 235px;
  object-fit: cover;
  border-radius: 10px;
}
.firex-label {
  display: inline-block;
  margin-bottom: 7px;
  color: var(--green);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.firex-solution-card h3 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: 1.05rem;
}
.firex-solution-card p,
.firex-solution-card li {
  color: var(--muted);
  font-size: .69rem;
  line-height: 1.52;
}
.firex-solution-card p { margin: 0 0 10px; }
.firex-solution-card ul { margin: 0; padding-left: 17px; }

.firex-applications { padding: 40px 0; }
.firex-applications-grid {
  display: grid;
  grid-template-columns: minmax(340px, 380px) minmax(0, 1fr);
  gap: 38px;
  align-items: start;
}
.firex-application-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.firex-application-grid article {
  padding: 19px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.firex-application-grid svg {
  width: 32px;
  height: 32px;
  margin-bottom: 12px;
  color: var(--green);
  stroke-width: 1.7;
}
.firex-application-grid h3 {
  margin: 0 0 6px;
  color: var(--dark);
  font-size: .78rem;
}
.firex-application-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .65rem;
  line-height: 1.48;
}

.firex-video-section {
  padding: 40px 0;
  background: #f7f9f5;
}
.firex-video-grid {
  grid-template-columns: minmax(0,.9fr) minmax(460px,1.1fr);
}
.firex-video-copy > p + p { margin-top: 10px; }

.firex-rd-section { padding: 40px 0 44px; }
.firex-rd-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.firex-rd-grid article {
  position: relative;
  min-height: 205px;
  padding: 24px 18px 18px;
  text-align: center;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.firex-rd-grid article > span {
  position: absolute;
  top: -12px;
  left: 50%;
  width: 27px;
  height: 27px;
  display: grid;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  transform: translateX(-50%);
  place-items: center;
  font-size: .62rem;
  font-weight: 800;
}
.firex-rd-grid svg {
  width: 42px;
  height: 42px;
  margin: 12px auto 10px;
  padding: 10px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.firex-rd-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .77rem;
}
.firex-rd-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.48;
}

.firex-benefits-section {
  padding: 34px 0;
  background: #f7f9f5;
}
.firex-benefits-grid {
  display: grid;
  grid-template-columns: minmax(320px,.75fr) minmax(0,1.25fr);
  gap: 42px;
  align-items: center;
}
.firex-benefits-grid h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.7rem,2.7vw,2.45rem);
}
.firex-benefit-list {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}
.firex-benefit-list span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 52px;
  padding: 11px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: .66rem;
  font-weight: 700;
}
.firex-benefit-list svg {
  width: 18px;
  height: 18px;
  color: var(--green);
}

.firex-cta { padding: 34px 0; }
.firex-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 30px;
  color: #fff;
  background: linear-gradient(135deg,#0a4929,#062719);
  border-radius: 15px;
}
.firex-cta-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem,2.3vw,2rem);
}
.firex-cta-inner > div > p:last-child {
  margin: 0;
  color: #dce8df;
  font-size: .76rem;
}

@media (max-width: 1000px) {
  .firex-intro-grid,
  .firex-how-grid,
  .firex-video-grid,
  .firex-applications-grid,
  .firex-benefits-grid,
  .firex-cta-inner {
    grid-template-columns: 1fr;
  }
  .firex-solution-card {
    grid-template-columns: 1fr;
  }
  .firex-application-grid,
  .firex-rd-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 650px) {
  .firex-hero { min-height: 390px; }
  .firex-hero-image { background-position: 68% center; }
  .firex-hero-overlay { background: rgba(4,27,16,.74); }
  .firex-hero-content { padding: 44px 0; }
  .firex-hero-content h1 { font-size: 2.5rem; }
  .firex-solution-grid,
  .firex-application-grid,
  .firex-rd-grid,
  .firex-benefit-list {
    grid-template-columns: 1fr;
  }
  .firex-how-grid > img,
  .firex-video-grid video {
    height: 280px;
  }
}


/* ============================================================
   FINAL FIRE PROTECTION APPLICATION LAYOUT FIX
   ============================================================ */
.firex-applications-grid {
  display: grid;
  grid-template-columns: minmax(340px, 380px) minmax(0, 1fr);
  gap: 38px;
  align-items: start;
}

.firex-application-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 1000px) {
  .firex-applications-grid {
    grid-template-columns: 1fr;
  }

  .firex-application-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .firex-application-grid {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   INDUSTRIES PAGE
   ============================================================ */
.industries-page { overflow: hidden; }
.industries-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.industries-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  color: #fff;
  background: var(--dark);
}
.industries-hero-image,
.industries-hero-overlay { position: absolute; inset: 0; }
.industries-hero-image {
  background: url("images/industries-hero.webp") center / cover no-repeat;
}
.industries-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.96) 0%, rgba(4,27,16,.8) 40%, rgba(4,27,16,.18) 73%, rgba(4,27,16,.04) 100%);
}
.industries-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
}
.industries-hero-content h1 {
  max-width: 760px;
  margin: 0 0 16px;
  font-size: clamp(3rem,5vw,5.3rem);
  line-height: .96;
  letter-spacing: -.045em;
}
.industries-hero-content > p:not(.industries-kicker) {
  max-width: 660px;
  margin: 0 0 22px;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}

.industries-intro { padding: 38px 0 28px; }
.industries-intro-grid {
  display: grid;
  grid-template-columns: minmax(340px,.82fr) minmax(0,1.18fr);
  gap: 60px;
  align-items: end;
}
.industries-intro-grid h2,
.industries-pathway-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.industries-intro-grid > p,
.industries-pathway-copy > p:not(.industries-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.industries-sector-section {
  padding: 32px 0 44px;
  background: #f7f9f5;
}
.industries-heading {
  max-width: 850px;
  margin: 0 auto 24px;
  text-align: center;
}
.industries-heading .industries-kicker { text-align: center; }
.industries-heading h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.9rem,3vw,2.8rem);
}
.industries-card-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 15px;
}
.industries-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 10px 25px rgba(4,27,16,.07);
  transition: transform .2s ease, box-shadow .2s ease;
}
.industries-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 35px rgba(4,27,16,.13);
}
.industries-card img {
  width: 100%;
  height: 145px;
  object-fit: cover;
}
.industries-card > div {
  padding: 17px;
}
.industries-card span {
  display: block;
  margin-bottom: 5px;
  color: var(--lime);
  font-size: .58rem;
  font-weight: 800;
}
.industries-card h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .85rem;
}
.industries-card p {
  min-height: 60px;
  margin: 0 0 10px;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.48;
}
.industries-card small {
  display: block;
  padding-top: 9px;
  color: var(--green);
  border-top: 1px solid var(--line);
  font-size: .57rem;
  font-weight: 750;
}

.industries-pathway-section { padding: 40px 0; }
.industries-pathway-grid {
  display: grid;
  grid-template-columns: minmax(320px,.75fr) minmax(0,1.25fr);
  gap: 48px;
  align-items: center;
}
.industries-pathway-copy > p:not(.industries-kicker) { margin-top: 12px; }
.industries-pathway-steps {
  display: grid;
  gap: 11px;
}
.industries-pathway-steps article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  align-items: start;
  padding: 15px 17px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 11px;
}
.industries-pathway-steps strong {
  width: 38px;
  height: 38px;
  display: grid;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  place-items: center;
  font-size: .65rem;
}
.industries-pathway-steps h3 {
  margin: 0 0 3px;
  color: var(--dark);
  font-size: .77rem;
}
.industries-pathway-steps p {
  margin: 0;
  color: var(--muted);
  font-size: .65rem;
  line-height: 1.48;
}

.industries-performance {
  padding: 27px 0;
  background: #f7f9f5;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.industries-performance-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
}
.industries-performance-grid article {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  align-items: center;
  padding: 9px 22px;
  border-right: 1px solid var(--line);
}
.industries-performance-grid article:last-child { border-right: 0; }
.industries-performance-grid svg {
  width: 36px;
  height: 36px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.industries-performance-grid h3 {
  margin: 0 0 3px;
  color: var(--dark);
  font-size: .74rem;
}
.industries-performance-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .62rem;
  line-height: 1.42;
}

.industries-cta { padding: 34px 0; }
.industries-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 30px;
  color: #fff;
  background: linear-gradient(135deg,#0a4929,#062719);
  border-radius: 15px;
}
.industries-cta-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem,2.3vw,2rem);
}
.industries-cta-inner > div > p:last-child {
  margin: 0;
  color: #dce8df;
  font-size: .76rem;
}

@media (max-width: 1200px) {
  .industries-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .industries-intro-grid,
  .industries-pathway-grid,
  .industries-cta-inner { grid-template-columns: 1fr; }
  .industries-card-grid,
  .industries-performance-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .industries-hero { min-height: 390px; }
  .industries-hero-image { background-position: 68% center; }
  .industries-hero-overlay { background: rgba(4,27,16,.74); }
  .industries-hero-content { padding: 44px 0; }
  .industries-hero-content h1 { font-size: 2.55rem; }
  .industries-card-grid,
  .industries-performance-grid { grid-template-columns: 1fr; }
  .industries-card img { height: 220px; }
  .industries-performance-grid article {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .industries-performance-grid article:last-child { border-bottom: 0; }
}


/* ============================================================
   SUSTAINABLE PARTNERSHIPS PAGE
   ============================================================ */
.sustain-partners-page { overflow: hidden; }

.sustain-partners-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sustain-partners-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  color: #fff;
  background: var(--dark);
}
.sustain-partners-hero-image,
.sustain-partners-hero-overlay { position: absolute; inset: 0; }
.sustain-partners-hero-image {
  background: url("images/sustainable-partnerships-hero.webp") center / cover no-repeat;
}
.sustain-partners-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.92) 0%, rgba(4,27,16,.72) 42%, rgba(4,27,16,.12) 75%, rgba(4,27,16,.03) 100%);
}
.sustain-partners-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
}
.sustain-partners-hero-content h1 {
  max-width: 780px;
  margin: 0 0 16px;
  font-size: clamp(3rem,5vw,5.1rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.sustain-partners-hero-content > p:not(.sustain-partners-kicker) {
  max-width: 680px;
  margin: 0 0 22px;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}

.sustain-partners-intro { padding: 38px 0 28px; }
.sustain-partners-intro-grid {
  display: grid;
  grid-template-columns: minmax(360px,.85fr) minmax(0,1.15fr);
  gap: 60px;
  align-items: end;
}
.sustain-partners-intro-grid h2,
.sustain-partners-pathways-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.sustain-partners-intro-grid > p,
.sustain-partners-pathways-copy > p:not(.sustain-partners-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.sustain-partners-feature {
  padding: 32px 0 44px;
  background: #f7f9f5;
}
.sustain-partners-heading {
  max-width: 850px;
  margin: 0 auto 24px;
  text-align: center;
}
.sustain-partners-heading .sustain-partners-kicker { text-align: center; }
.sustain-partners-heading h2 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: clamp(1.9rem,3vw,2.8rem);
}
.sustain-partners-heading > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .79rem;
  line-height: 1.6;
}

.sustain-partners-feature-grid {
  display: grid;
  grid-template-columns: minmax(430px,.95fr) minmax(0,1.05fr);
  gap: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow);
}
.sustain-partners-feature-grid > img {
  width: 100%;
  height: 100%;
  min-height: 450px;
  object-fit: cover;
}
.sustain-partners-feature-copy {
  padding: 32px;
}
.sustain-partners-feature-copy > p {
  margin: 0 0 20px;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.7;
}
.sustain-partners-feature-list {
  display: grid;
  gap: 11px;
}
.sustain-partners-feature-list article {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 13px;
  align-items: start;
  padding: 14px 15px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.sustain-partners-feature-list svg {
  width: 36px;
  height: 36px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.sustain-partners-feature-list h3 {
  margin: 0 0 3px;
  color: var(--dark);
  font-size: .77rem;
}
.sustain-partners-feature-list p {
  margin: 0;
  color: var(--muted);
  font-size: .65rem;
  line-height: 1.48;
}

.sustain-partners-values {
  padding: 40px 0;
}
.sustain-partners-values-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 14px;
}
.sustain-partners-values-grid article {
  padding: 20px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.sustain-partners-values-grid svg {
  width: 34px;
  height: 34px;
  margin: 0 auto 12px;
  color: var(--green);
  stroke-width: 1.7;
}
.sustain-partners-values-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .76rem;
}
.sustain-partners-values-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .63rem;
  line-height: 1.48;
}

.sustain-partners-pathways {
  padding: 40px 0;
  background: #f7f9f5;
}
.sustain-partners-pathways-grid {
  display: grid;
  grid-template-columns: minmax(340px, 390px) minmax(0, 1fr);
  gap: 42px;
  align-items: start;
}
.sustain-partners-pathways-copy > p:not(.sustain-partners-kicker) { margin-top: 12px; }
.sustain-partners-pathway-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}
.sustain-partners-pathway-cards article {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.sustain-partners-pathway-cards img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}
.sustain-partners-pathway-cards div { padding: 17px; }
.sustain-partners-pathway-cards h3 {
  margin: 0 0 6px;
  color: var(--dark);
  font-size: .78rem;
}
.sustain-partners-pathway-cards p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.48;
}

.sustain-partners-process {
  padding: 40px 0 44px;
}
.sustain-partners-process-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.sustain-partners-process-grid article {
  position: relative;
  min-height: 155px;
  padding: 24px 18px 18px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.sustain-partners-process-grid span {
  display: inline-grid;
  width: 30px;
  height: 30px;
  margin-bottom: 12px;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  place-items: center;
  font-size: .61rem;
  font-weight: 800;
}
.sustain-partners-process-grid h3 {
  margin: 0 0 6px;
  color: var(--dark);
  font-size: .76rem;
}
.sustain-partners-process-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.48;
}

.sustain-partners-cta { padding: 34px 0; }
.sustain-partners-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 30px;
  color: #fff;
  background: linear-gradient(135deg,#0a4929,#062719);
  border-radius: 15px;
}
.sustain-partners-cta-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem,2.3vw,2rem);
}
.sustain-partners-cta-inner > div > p:last-child {
  margin: 0;
  color: #dce8df;
  font-size: .76rem;
}

@media (max-width: 1000px) {
  .sustain-partners-intro-grid,
  .sustain-partners-feature-grid,
  .sustain-partners-pathways-grid,
  .sustain-partners-cta-inner {
    grid-template-columns: 1fr;
  }
  .sustain-partners-values-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .sustain-partners-pathway-cards,
  .sustain-partners-process-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 650px) {
  .sustain-partners-hero { min-height: 390px; }
  .sustain-partners-hero-image { background-position: 68% center; }
  .sustain-partners-hero-overlay { background: rgba(4,27,16,.74); }
  .sustain-partners-hero-content { padding: 44px 0; }
  .sustain-partners-hero-content h1 { font-size: 2.5rem; }
  .sustain-partners-values-grid,
  .sustain-partners-pathway-cards,
  .sustain-partners-process-grid {
    grid-template-columns: 1fr;
  }
  .sustain-partners-feature-copy { padding: 23px; }
}


/* ============================================================
   FINAL SUSTAINABLE PARTNERSHIPS PATHWAY LAYOUT FIX
   ============================================================ */
.sustain-partners-pathways-grid {
  display: grid;
  grid-template-columns: minmax(340px, 390px) minmax(0, 1fr);
  gap: 42px;
  align-items: start;
}

.sustain-partners-pathway-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}

@media (max-width: 1000px) {
  .sustain-partners-pathways-grid {
    grid-template-columns: 1fr;
  }

  .sustain-partners-pathway-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .sustain-partners-pathway-cards {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   MAHIDOL UNIVERSITY PARTNERSHIP FEATURE + VISIT STORY
   ============================================================ */
.sustain-partners-academic {
  padding: 44px 0;
  background: #fff;
}

.sustain-partners-academic-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  gap: 42px;
  align-items: center;
}

.sustain-partners-academic-visual {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: var(--shadow);
}

.sustain-partners-academic-visual img {
  width: 100%;
  min-height: 360px;
  display: block;
  object-fit: cover;
}

.sustain-partners-academic-visual span {
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 9px 13px;
  color: #fff;
  background: rgba(3, 38, 23, .9);
  border-radius: 999px;
  font-size: .66rem;
  font-weight: 800;
}

.sustain-partners-academic-copy h2 {
  margin: 0 0 14px;
  color: var(--dark);
  font-size: clamp(2rem, 3.2vw, 3rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.sustain-partners-academic-copy > p:not(.sustain-partners-kicker):not(.sustain-partners-academic-note) {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.sustain-partners-academic-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.sustain-partners-academic-topics span {
  padding: 8px 11px;
  color: var(--green);
  background: #f0f6eb;
  border: 1px solid #d0e2c3;
  border-radius: 999px;
  font-size: .62rem;
  font-weight: 800;
}

.sustain-partners-academic-note {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 10px;
  align-items: start;
  margin: 0 0 20px;
  padding: 13px 14px;
  color: #355044;
  background: #f7f9f5;
  border-left: 3px solid var(--lime);
  font-size: .65rem;
  line-height: 1.55;
}

.sustain-partners-academic-note svg {
  width: 20px;
  height: 20px;
  color: var(--green);
}

.sustain-partners-academic-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}

.sustain-partners-source-link {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  color: var(--green);
  font-size: .68rem;
  font-weight: 800;
}

.sustain-partners-source-link svg { width: 16px; }

.mahidol-collab-page { overflow: hidden; }

.mahidol-collab-hero {
  position: relative;
  min-height: 520px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}

.mahidol-collab-hero > img,
.mahidol-collab-hero-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.mahidol-collab-hero > img {
  object-fit: cover;
  object-position: center;
}

.mahidol-collab-hero-overlay {
  background: linear-gradient(90deg, rgba(3, 26, 15, .96) 0%, rgba(3, 26, 15, .82) 43%, rgba(3, 26, 15, .26) 74%, rgba(3, 26, 15, .1) 100%);
}

.mahidol-collab-hero-content {
  position: relative;
  z-index: 2;
  padding: 64px 0;
}

.mahidol-collab-hero-content h1 {
  max-width: 870px;
  margin: 0 0 18px;
  font-size: clamp(3rem, 5vw, 5.2rem);
  line-height: .98;
  letter-spacing: -.05em;
}

.mahidol-collab-hero-content > p:not(.sustain-partners-kicker) {
  max-width: 700px;
  margin: 0 0 24px;
  color: #e4eee8;
  font-size: 1rem;
  line-height: 1.65;
}

.mahidol-collab-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.mahidol-collab-facts {
  padding: 22px 0;
  background: #f3f7ee;
  border-bottom: 1px solid var(--line);
}

.mahidol-collab-facts-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mahidol-collab-facts article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 11px;
  align-items: center;
  min-width: 0;
  padding: 7px 22px;
  border-right: 1px solid #cfdcc8;
}

.mahidol-collab-facts article:first-child { padding-left: 0; }
.mahidol-collab-facts article:last-child { padding-right: 0; border-right: 0; }

.mahidol-collab-facts svg {
  width: 34px;
  height: 34px;
  padding: 7px;
  color: var(--green);
  border: 1px solid #aecd91;
  border-radius: 50%;
}

.mahidol-collab-facts span,
.mahidol-collab-facts strong { display: block; }
.mahidol-collab-facts span {
  margin-bottom: 2px;
  color: #6c8074;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mahidol-collab-facts strong {
  color: var(--dark);
  font-size: .68rem;
  line-height: 1.35;
}

.mahidol-collab-story { padding: 54px 0; }
.mahidol-collab-story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 56px;
  align-items: start;
}

.mahidol-collab-story-copy h2,
.mahidol-collab-heading h2,
.mahidol-collab-sources h2 {
  margin: 0 0 14px;
  color: var(--dark);
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.mahidol-collab-story-copy > p:not(.sustain-partners-kicker) {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.78;
}

.mahidol-collab-principle {
  padding: 26px;
  background: #f4f8f1;
  border: 1px solid #d7e4cf;
  border-top: 4px solid var(--lime);
  border-radius: 14px;
}
.mahidol-collab-principle > svg {
  width: 38px;
  height: 38px;
  margin-bottom: 14px;
  color: var(--green);
}
.mahidol-collab-principle h3 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: 1rem;
}
.mahidol-collab-principle p {
  margin: 0;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.65;
}

.mahidol-collab-topics {
  padding: 50px 0 56px;
  background: #f7f9f5;
}

.mahidol-collab-heading {
  max-width: 850px;
  margin: 0 auto 27px;
  text-align: center;
}
.mahidol-collab-heading .sustain-partners-kicker { text-align: center; }
.mahidol-collab-heading > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.65;
}

.mahidol-collab-topic-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.mahidol-collab-topic-grid article {
  padding: 23px 19px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.mahidol-collab-topic-grid svg {
  width: 34px;
  height: 34px;
  margin-bottom: 15px;
  color: var(--green);
  stroke-width: 1.7;
}
.mahidol-collab-topic-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .75rem;
}
.mahidol-collab-topic-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .63rem;
  line-height: 1.55;
}

.mahidol-collab-gallery { padding: 52px 0; }
.mahidol-collab-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
}
.mahidol-collab-gallery figure {
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.mahidol-collab-gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
}
.mahidol-collab-gallery figcaption {
  padding: 13px 14px 15px;
  color: var(--muted);
  font-size: .62rem;
  line-height: 1.45;
}
.mahidol-collab-photo-credit {
  margin: 15px 0 0;
  color: #718277;
  font-size: .58rem;
  text-align: center;
}

.mahidol-collab-sources {
  padding: 45px 0;
  background: #eef5e9;
}
.mahidol-collab-sources-inner {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: 48px;
  align-items: center;
}
.mahidol-collab-sources-inner > div:first-child > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .74rem;
  line-height: 1.65;
}
.mahidol-collab-source-links { display: grid; gap: 10px; }
.mahidol-collab-source-links a {
  display: grid;
  grid-template-columns: 34px 1fr 18px;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  color: var(--dark);
  background: #fff;
  border: 1px solid #d3e1cb;
  border-radius: 10px;
}
.mahidol-collab-source-links a > svg:first-child { color: var(--green); }
.mahidol-collab-source-links a > svg:last-child { width: 16px; color: var(--green); }
.mahidol-collab-source-links strong,
.mahidol-collab-source-links small { display: block; }
.mahidol-collab-source-links strong { font-size: .7rem; }
.mahidol-collab-source-links small { margin-top: 2px; color: var(--muted); font-size: .59rem; }

.mahidol-collab-cta { padding: 38px 0; }
.mahidol-collab-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  align-items: center;
  padding: 30px 32px;
  color: #fff;
  background: linear-gradient(135deg, #0a4929, #062719);
  border-radius: 15px;
}
.mahidol-collab-cta h2 { margin: 0 0 7px; font-size: clamp(1.5rem, 2.5vw, 2.1rem); }
.mahidol-collab-cta-inner > div > p:last-child { max-width: 780px; margin: 0; color: #dce8df; font-size: .75rem; line-height: 1.6; }

@media (max-width: 1050px) {
  .sustain-partners-academic-grid,
  .mahidol-collab-story-grid,
  .mahidol-collab-sources-inner,
  .mahidol-collab-cta-inner { grid-template-columns: 1fr; }
  .mahidol-collab-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mahidol-collab-facts article:nth-child(2) { border-right: 0; }
  .mahidol-collab-facts article:nth-child(n+3) { margin-top: 14px; padding-top: 14px; border-top: 1px solid #cfdcc8; }
  .mahidol-collab-topic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mahidol-collab-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
  .sustain-partners-academic-grid { gap: 28px; }
  .sustain-partners-academic-visual img { min-height: 0; aspect-ratio: 5 / 3; }
  .sustain-partners-academic-actions { align-items: flex-start; flex-direction: column; }
  .mahidol-collab-hero { min-height: 560px; align-items: end; }
  .mahidol-collab-hero > img { object-position: 56% center; }
  .mahidol-collab-hero-overlay { background: linear-gradient(180deg, rgba(3, 26, 15, .2) 0%, rgba(3, 26, 15, .72) 40%, rgba(3, 26, 15, .97) 100%); }
  .mahidol-collab-hero-content { padding: 190px 0 42px; }
  .mahidol-collab-hero-content h1 { font-size: 2.5rem; }
  .mahidol-collab-hero-actions { align-items: stretch; flex-direction: column; }
  .mahidol-collab-hero-actions .btn { justify-content: center; width: 100%; }
  .mahidol-collab-facts-grid,
  .mahidol-collab-topic-grid,
  .mahidol-collab-gallery-grid { grid-template-columns: 1fr; }
  .mahidol-collab-facts article,
  .mahidol-collab-facts article:first-child,
  .mahidol-collab-facts article:last-child,
  .mahidol-collab-facts article:nth-child(2),
  .mahidol-collab-facts article:nth-child(n+3) {
    margin: 0;
    padding: 13px 0;
    border: 0;
    border-bottom: 1px solid #cfdcc8;
  }
  .mahidol-collab-facts article:last-child { border-bottom: 0; }
  .mahidol-collab-story,
  .mahidol-collab-gallery { padding: 42px 0; }
  .mahidol-collab-topic-grid article { text-align: left; }
  .mahidol-collab-gallery-grid { gap: 13px; }
  .mahidol-collab-cta-inner { padding: 25px 22px; }
  .mahidol-collab-cta .btn { width: 100%; justify-content: center; }
}


/* ============================================================
   DISTRIBUTION PARTNERSHIPS PAGE
   ============================================================ */

.distribution-page {
  overflow: hidden;
}

.distribution-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.distribution-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}

.distribution-hero-image,
.distribution-hero-overlay {
  position: absolute;
  inset: 0;
}

.distribution-hero-image {
  background:
    url("images/distribution-partnerships-hero.webp")
    center / cover no-repeat;
}

.distribution-hero-overlay {
  background:
    linear-gradient(
      90deg,
      rgba(4, 27, 16, .95) 0%,
      rgba(4, 27, 16, .79) 40%,
      rgba(4, 27, 16, .18) 73%,
      rgba(4, 27, 16, .04) 100%
    );
}

.distribution-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
  text-align: left;
}

.distribution-hero-content h1 {
  max-width: 880px;
  margin: 0 0 16px;
  font-size: clamp(3rem, 5vw, 5rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.distribution-hero-content > p:not(.distribution-kicker) {
  max-width: 700px;
  margin: 0;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}

.distribution-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 23px;
}

.distribution-intro {
  padding: 38px 0 29px;
}

.distribution-intro-grid {
  display: grid;
  grid-template-columns:
    minmax(380px, .88fr)
    minmax(0, 1.12fr);
  gap: 60px;
  align-items: end;
}

.distribution-intro-grid h2,
.distribution-fit-copy h2,
.distribution-products-copy h2,
.distribution-application-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}

.distribution-intro-grid > p,
.distribution-fit-copy > p:not(.distribution-kicker),
.distribution-products-copy > p:not(.distribution-kicker),
.distribution-application-copy > p:not(.distribution-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.distribution-heading {
  max-width: 850px;
  margin: 0 auto 24px;
  text-align: center;
}

.distribution-heading .distribution-kicker {
  text-align: center;
}

.distribution-heading h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.9rem, 3vw, 2.8rem);
}

.distribution-benefits {
  padding: 33px 0 43px;
  background: #f7f9f5;
}

.distribution-benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
}

.distribution-benefit-grid article {
  padding: 21px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}

.distribution-benefit-grid svg {
  width: 34px;
  height: 34px;
  margin-bottom: 13px;
  color: var(--green);
  stroke-width: 1.7;
}

.distribution-benefit-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .82rem;
}

.distribution-benefit-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.5;
}

.distribution-fit-section {
  padding: 40px 0;
}

.distribution-fit-grid {
  display: grid;
  grid-template-columns:
    minmax(350px, 410px)
    minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.distribution-fit-copy > p:not(.distribution-kicker) {
  margin-top: 13px;
}

.distribution-fit-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.distribution-fit-list article {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 13px;
  align-items: start;
  padding: 16px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 11px;
}

.distribution-fit-list svg {
  width: 36px;
  height: 36px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}

.distribution-fit-list h3 {
  margin: 0 0 4px;
  color: var(--dark);
  font-size: .76rem;
}

.distribution-fit-list p {
  margin: 0;
  color: var(--muted);
  font-size: .65rem;
  line-height: 1.48;
}

.distribution-products-section {
  padding: 40px 0;
  background: #f7f9f5;
}

.distribution-products-grid {
  display: grid;
  grid-template-columns:
    minmax(430px, .95fr)
    minmax(0, 1.05fr);
  gap: 48px;
  align-items: center;
}

.distribution-products-grid > img {
  width: 100%;
  height: 335px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: var(--shadow);
}

.distribution-products-copy > p:not(.distribution-kicker) {
  margin-top: 13px;
}

.distribution-product-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 19px;
}

.distribution-product-list span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 11px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: .67rem;
  font-weight: 700;
}

.distribution-product-list svg {
  width: 18px;
  height: 18px;
  color: var(--green);
}

.distribution-support-section {
  padding: 40px 0 44px;
}

.distribution-support-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
}

.distribution-support-grid article {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}

.distribution-support-grid img {
  width: 100%;
  height: 145px;
  object-fit: cover;
}

.distribution-support-grid article > div {
  padding: 17px;
}

.distribution-support-grid h3 {
  margin: 0 0 6px;
  color: var(--dark);
  font-size: .78rem;
}

.distribution-support-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.48;
}

.distribution-support-text-card {
  padding: 20px;
}

.distribution-support-text-card svg {
  width: 34px;
  height: 34px;
  margin-bottom: 14px;
  color: var(--green);
  stroke-width: 1.7;
}

.distribution-process-section {
  padding: 40px 0 44px;
  background: #f7f9f5;
}

.distribution-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.distribution-process-grid article {
  min-height: 158px;
  padding: 21px 18px 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.distribution-process-grid span {
  display: inline-grid;
  width: 31px;
  height: 31px;
  margin-bottom: 12px;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  place-items: center;
  font-size: .61rem;
  font-weight: 800;
}

.distribution-process-grid h3 {
  margin: 0 0 6px;
  color: var(--dark);
  font-size: .77rem;
}

.distribution-process-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.48;
}

.distribution-application-section {
  padding: 40px 0;
}

.distribution-application-grid {
  display: grid;
  grid-template-columns:
    minmax(330px, .78fr)
    minmax(0, 1.22fr);
  gap: 48px;
  align-items: start;
  padding: 30px;
  background: linear-gradient(145deg, #f4f7f1, #fff);
  border: 1px solid var(--line);
  border-radius: 16px;
}

.distribution-application-copy > p:not(.distribution-kicker) {
  margin-top: 13px;
}

.distribution-application-points {
  display: grid;
  gap: 9px;
  margin-top: 19px;
}

.distribution-application-points span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--dark);
  font-size: .7rem;
  font-weight: 700;
}

.distribution-application-points svg {
  width: 18px;
  height: 18px;
  color: var(--green);
}

.distribution-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.distribution-field {
  display: grid;
  gap: 6px;
}

.distribution-field-full {
  grid-column: 1 / -1;
}

.distribution-field label {
  color: var(--dark);
  font-size: .61rem;
  font-weight: 800;
}

.distribution-field input,
.distribution-field select,
.distribution-field textarea {
  width: 100%;
  padding: 12px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  font: inherit;
  font-size: .72rem;
}

.distribution-field textarea {
  min-height: 115px;
  resize: vertical;
}

.distribution-field input:focus,
.distribution-field select:focus,
.distribution-field textarea:focus {
  outline: 2px solid rgba(111, 157, 36, .22);
  border-color: var(--lime);
}

.distribution-captcha {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 9px;
  align-items: center;
  padding: 12px 13px;
  color: var(--muted);
  background: #fff;
  border: 1px dashed #aebcad;
  border-radius: 9px;
  font-size: .62rem;
}

.distribution-captcha svg {
  width: 19px;
  height: 19px;
  color: var(--green);
}

.distribution-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.distribution-form-footer small {
  max-width: 280px;
  color: var(--muted);
  font-size: .56rem;
  text-align: right;
}

.distribution-form-footer small a {
  color: var(--green);
  font-weight: 750;
}

@media (max-width: 1050px) {
  .distribution-intro-grid,
  .distribution-fit-grid,
  .distribution-products-grid,
  .distribution-application-grid {
    grid-template-columns: 1fr;
  }

  .distribution-benefit-grid,
  .distribution-support-grid,
  .distribution-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .distribution-hero {
    min-height: 400px;
  }

  .distribution-hero-image {
    background-position: 72% center;
  }

  .distribution-hero-overlay {
    background: rgba(4, 27, 16, .75);
  }

  .distribution-hero-content {
    padding: 44px 0;
  }

  .distribution-hero-content h1 {
    font-size: 2.45rem;
  }

  .distribution-benefit-grid,
  .distribution-fit-list,
  .distribution-product-list,
  .distribution-support-grid,
  .distribution-process-grid,
  .distribution-form {
    grid-template-columns: 1fr;
  }

  .distribution-field-full {
    grid-column: auto;
  }

  .distribution-application-grid {
    padding: 23px 20px;
  }

  .distribution-form-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .distribution-form-footer small {
    max-width: none;
    text-align: left;
  }
}


/* ============================================================
   FRANCHISE OPPORTUNITIES PAGE
   ============================================================ */
.franchise-page { overflow: hidden; }

.franchise-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.franchise-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}
.franchise-hero-image,
.franchise-hero-overlay { position: absolute; inset: 0; }
.franchise-hero-image {
  background: url("images/franchise-opportunities-hero.webp") center / cover no-repeat;
}
.franchise-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.95) 0%, rgba(4,27,16,.79) 40%, rgba(4,27,16,.18) 73%, rgba(4,27,16,.04) 100%);
}
.franchise-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
}
.franchise-hero-content h1 {
  max-width: 800px;
  margin: 0 0 16px;
  font-size: clamp(3rem,5vw,5rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.franchise-hero-content > p:not(.franchise-kicker) {
  max-width: 680px;
  margin: 0;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}
.franchise-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 23px;
}

.franchise-intro { padding: 38px 0 29px; }
.franchise-intro-grid {
  display: grid;
  grid-template-columns: minmax(380px,.88fr) minmax(0,1.12fr);
  gap: 60px;
  align-items: end;
}
.franchise-intro-grid h2,
.franchise-profile-copy h2,
.franchise-support-copy h2,
.franchise-products-copy h2,
.franchise-apply-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.franchise-intro-grid > p,
.franchise-profile-copy > p:not(.franchise-kicker),
.franchise-products-copy > p:not(.franchise-kicker),
.franchise-apply-copy > p:not(.franchise-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.franchise-heading {
  max-width: 850px;
  margin: 0 auto 24px;
  text-align: center;
}
.franchise-heading .franchise-kicker { text-align: center; }
.franchise-heading h2 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: clamp(1.9rem,3vw,2.8rem);
}
.franchise-heading > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .79rem;
  line-height: 1.6;
}

.franchise-benefits {
  padding: 33px 0 43px;
  background: #f7f9f5;
}
.franchise-benefit-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 14px;
}
.franchise-benefit-grid article {
  padding: 20px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.franchise-benefit-grid svg {
  width: 34px;
  height: 34px;
  margin: 0 auto 12px;
  color: var(--green);
  stroke-width: 1.7;
}
.franchise-benefit-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .76rem;
}
.franchise-benefit-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .63rem;
  line-height: 1.48;
}

.franchise-models { padding: 40px 0 44px; }
.franchise-model-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}
.franchise-model-grid article {
  position: relative;
  padding: 23px 21px 20px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.franchise-model-grid article > span {
  position: absolute;
  top: -12px;
  left: 20px;
  width: 29px;
  height: 29px;
  display: grid;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  place-items: center;
  font-size: .61rem;
  font-weight: 800;
}
.franchise-model-grid svg {
  width: 38px;
  height: 38px;
  margin: 8px 0 12px;
  color: var(--green);
}
.franchise-model-grid h3 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: .86rem;
}
.franchise-model-grid p,
.franchise-model-grid li {
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.5;
}
.franchise-model-grid p { margin: 0 0 11px; }
.franchise-model-grid ul { margin: 0; padding-left: 18px; }

.franchise-profile {
  padding: 40px 0;
  background: #f7f9f5;
}
.franchise-profile-grid {
  display: grid;
  grid-template-columns: minmax(350px,410px) minmax(0,1fr);
  gap: 48px;
  align-items: start;
}
.franchise-profile-copy > p:not(.franchise-kicker) { margin-top: 13px; }
.franchise-profile-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.franchise-profile-list article {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 13px;
  align-items: start;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 11px;
}
.franchise-profile-list svg {
  width: 36px;
  height: 36px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.franchise-profile-list h3 {
  margin: 0 0 4px;
  color: var(--dark);
  font-size: .76rem;
}
.franchise-profile-list p {
  margin: 0;
  color: var(--muted);
  font-size: .65rem;
  line-height: 1.48;
}

.franchise-support { padding: 40px 0; }
.franchise-support-grid,
.franchise-products-grid {
  display: grid;
  grid-template-columns: minmax(430px,.95fr) minmax(0,1.05fr);
  gap: 48px;
  align-items: center;
}
.franchise-support-grid > img,
.franchise-products-grid > img {
  width: 100%;
  height: 335px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: var(--shadow);
}
.franchise-support-copy h2 { margin-bottom: 17px; }
.franchise-support-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.franchise-support-list span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 11px 13px;
  color: var(--dark);
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: .67rem;
  font-weight: 700;
}
.franchise-support-list svg {
  width: 18px;
  height: 18px;
  color: var(--green);
}

.franchise-products {
  padding: 40px 0;
  background: #f7f9f5;
}
.franchise-products-grid {
  grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr);
}
.franchise-products-copy > p:not(.franchise-kicker) {
  margin-top: 13px;
  margin-bottom: 20px;
}

.franchise-process { padding: 40px 0 44px; }
.franchise-process-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
}
.franchise-process-grid article {
  min-height: 158px;
  padding: 21px 17px 18px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.franchise-process-grid span {
  display: inline-grid;
  width: 31px;
  height: 31px;
  margin-bottom: 12px;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  place-items: center;
  font-size: .61rem;
  font-weight: 800;
}
.franchise-process-grid h3 {
  margin: 0 0 6px;
  color: var(--dark);
  font-size: .75rem;
}
.franchise-process-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .63rem;
  line-height: 1.48;
}

.franchise-apply { padding: 40px 0; background: #f7f9f5; }
.franchise-apply-grid {
  display: grid;
  grid-template-columns: minmax(330px,.78fr) minmax(0,1.22fr);
  gap: 48px;
  align-items: start;
  padding: 30px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
}
.franchise-apply-copy > p:not(.franchise-kicker) { margin-top: 13px; }
.franchise-apply-points {
  display: grid;
  gap: 9px;
  margin-top: 19px;
}
.franchise-apply-points span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--dark);
  font-size: .7rem;
  font-weight: 700;
}
.franchise-apply-points svg {
  width: 18px;
  height: 18px;
  color: var(--green);
}

.franchise-form {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.franchise-field {
  display: grid;
  gap: 6px;
}
.franchise-field-full { grid-column: 1/-1; }
.franchise-field label {
  color: var(--dark);
  font-size: .61rem;
  font-weight: 800;
}
.franchise-field input,
.franchise-field select,
.franchise-field textarea {
  width: 100%;
  padding: 12px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  font: inherit;
  font-size: .72rem;
}
.franchise-field textarea {
  min-height: 120px;
  resize: vertical;
}
.franchise-field input:focus,
.franchise-field select:focus,
.franchise-field textarea:focus {
  outline: 2px solid rgba(111,157,36,.22);
  border-color: var(--lime);
}
.franchise-captcha {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 9px;
  align-items: center;
  padding: 12px 13px;
  color: var(--muted);
  background: #fff;
  border: 1px dashed #aebcad;
  border-radius: 9px;
  font-size: .62rem;
}
.franchise-captcha svg {
  width: 19px;
  height: 19px;
  color: var(--green);
}
.franchise-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.franchise-form-footer small {
  max-width: 280px;
  color: var(--muted);
  font-size: .56rem;
  text-align: right;
}
.franchise-form-footer small a {
  color: var(--green);
  font-weight: 750;
}

@media (max-width: 1050px) {
  .franchise-intro-grid,
  .franchise-profile-grid,
  .franchise-support-grid,
  .franchise-products-grid,
  .franchise-apply-grid {
    grid-template-columns: 1fr;
  }

  .franchise-benefit-grid,
  .franchise-process-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 760px) {
  .franchise-model-grid,
  .franchise-profile-list,
  .franchise-support-list,
  .franchise-form {
    grid-template-columns: 1fr;
  }

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

  .franchise-field-full { grid-column: auto; }
}

@media (max-width: 600px) {
  .franchise-hero { min-height: 400px; }
  .franchise-hero-image { background-position: 66% center; }
  .franchise-hero-overlay { background: rgba(4,27,16,.75); }
  .franchise-hero-content { padding: 44px 0; }
  .franchise-hero-content h1 { font-size: 2.45rem; }

  .franchise-benefit-grid,
  .franchise-process-grid {
    grid-template-columns: 1fr;
  }

  .franchise-apply-grid { padding: 23px 20px; }

  .franchise-form-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .franchise-form-footer small {
    max-width: none;
    text-align: left;
  }
}


/* ============================================================
   IMPACT & SUSTAINABILITY PAGE
   ============================================================ */
.impact-page { overflow: hidden; }

.impact-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.impact-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}
.impact-hero-image,
.impact-hero-overlay { position: absolute; inset: 0; }
.impact-hero-image {
  background: url("images/impact-sustainability-hero.webp") center / cover no-repeat;
}
.impact-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.95) 0%, rgba(4,27,16,.77) 42%, rgba(4,27,16,.15) 75%, rgba(4,27,16,.03) 100%);
}
.impact-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
}
.impact-hero-content h1 {
  max-width: 920px;
  margin: 0 0 16px;
  font-size: clamp(3rem,5vw,5rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.impact-hero-content > p:not(.impact-kicker) {
  max-width: 700px;
  margin: 0 0 22px;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}

.impact-intro { padding: 38px 0 29px; }
.impact-intro-grid {
  display: grid;
  grid-template-columns: minmax(390px,.9fr) minmax(0,1.1fr);
  gap: 60px;
  align-items: end;
}
.impact-intro-grid h2,
.impact-pm-copy h2,
.impact-circular-copy h2,
.impact-production-copy h2,
.impact-building-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.impact-intro-grid > p,
.impact-pm-copy > p:not(.impact-kicker),
.impact-circular-copy > p:not(.impact-kicker),
.impact-production-copy > p:not(.impact-kicker),
.impact-building-copy > p:not(.impact-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.impact-heading {
  max-width: 850px;
  margin: 0 auto 24px;
  text-align: center;
}
.impact-heading .impact-kicker { text-align: center; }
.impact-heading h2 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: clamp(1.9rem,3vw,2.8rem);
}
.impact-heading > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .79rem;
  line-height: 1.6;
}

.impact-pillars {
  padding: 33px 0 43px;
  background: #f7f9f5;
}
.impact-pillar-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 15px;
}
.impact-pillar-grid article {
  padding: 21px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.impact-pillar-grid svg {
  width: 34px;
  height: 34px;
  margin-bottom: 13px;
  color: var(--green);
  stroke-width: 1.7;
}
.impact-pillar-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .82rem;
}
.impact-pillar-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.5;
}

.impact-pm-section,
.impact-production-section {
  padding: 40px 0;
}
.impact-pm-grid,
.impact-production-grid,
.impact-circular-grid,
.impact-building-grid {
  display: grid;
  grid-template-columns: minmax(430px,.95fr) minmax(0,1.05fr);
  gap: 48px;
  align-items: center;
}
.impact-pm-grid > img,
.impact-production-grid > img,
.impact-circular-grid > img,
.impact-building-grid > img {
  width: 100%;
  height: 335px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: var(--shadow);
}
.impact-pm-copy > p:not(.impact-kicker),
.impact-production-copy > p:not(.impact-kicker),
.impact-circular-copy > p:not(.impact-kicker),
.impact-building-copy > p:not(.impact-kicker) {
  margin-top: 13px;
}
.impact-pm-points,
.impact-building-benefits {
  display: grid;
  gap: 9px;
  margin-top: 18px;
}
.impact-pm-points span,
.impact-building-benefits span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--dark);
  font-size: .69rem;
  font-weight: 700;
}
.impact-pm-points svg,
.impact-building-benefits svg {
  width: 17px;
  height: 17px;
  color: var(--green);
}

.impact-bcg-section {
  padding: 40px 0 44px;
  background: #f7f9f5;
}
.impact-bcg-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 13px;
}
.impact-bcg-grid article {
  position: relative;
  min-height: 195px;
  padding: 24px 17px 18px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.impact-bcg-grid span {
  position: absolute;
  top: -12px;
  left: 50%;
  width: 28px;
  height: 28px;
  display: grid;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  transform: translateX(-50%);
  place-items: center;
  font-size: .6rem;
  font-weight: 800;
}
.impact-bcg-grid svg {
  width: 40px;
  height: 40px;
  margin: 12px auto 10px;
  padding: 9px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.impact-bcg-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .75rem;
}
.impact-bcg-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .63rem;
  line-height: 1.48;
}

.impact-circular-section,
.impact-building-section {
  padding: 40px 0;
}
.impact-circular-grid,
.impact-building-grid {
  grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr);
}
.impact-circular-copy .btn {
  margin-top: 19px;
}

.impact-production-section {
  background: #f7f9f5;
}
.impact-production-list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}
.impact-production-list article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px 15px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.impact-production-list svg {
  width: 34px;
  height: 34px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.impact-production-list h3 {
  margin: 0 0 3px;
  color: var(--dark);
  font-size: .75rem;
}
.impact-production-list p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.45;
}

.impact-commitments {
  padding: 40px 0 44px;
  background: #f7f9f5;
}
.impact-commitment-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 15px;
}
.impact-commitment-grid article {
  padding: 20px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.impact-commitment-grid svg {
  width: 33px;
  height: 33px;
  margin-bottom: 12px;
  color: var(--green);
  stroke-width: 1.7;
}
.impact-commitment-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .77rem;
}
.impact-commitment-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.48;
}

.impact-cta { padding: 34px 0; }
.impact-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 30px;
  color: #fff;
  background: linear-gradient(135deg,#0a4929,#062719);
  border-radius: 15px;
}
.impact-cta-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem,2.3vw,2rem);
}
.impact-cta-inner > div > p:last-child {
  margin: 0;
  color: #dce8df;
  font-size: .76rem;
}

@media (max-width: 1050px) {
  .impact-intro-grid,
  .impact-pm-grid,
  .impact-production-grid,
  .impact-circular-grid,
  .impact-building-grid,
  .impact-cta-inner {
    grid-template-columns: 1fr;
  }

  .impact-pillar-grid,
  .impact-commitment-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .impact-bcg-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 650px) {
  .impact-hero { min-height: 400px; }
  .impact-hero-image { background-position: 68% center; }
  .impact-hero-overlay { background: rgba(4,27,16,.75); }
  .impact-hero-content { padding: 44px 0; }
  .impact-hero-content h1 { font-size: 2.45rem; }

  .impact-pillar-grid,
  .impact-bcg-grid,
  .impact-commitment-grid {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   JOIN OUR TEAM PAGE
   ============================================================ */

.careers-page {
  overflow: hidden;
}

.careers-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.careers-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}

.careers-hero-image,
.careers-hero-overlay {
  position: absolute;
  inset: 0;
}

.careers-hero-image {
  background:
    url("images/aerogel-lab-research-v1.webp")
    center / cover no-repeat;
}

.careers-hero-overlay {
  background:
    linear-gradient(
      90deg,
      rgba(4, 27, 16, .95) 0%,
      rgba(4, 27, 16, .78) 40%,
      rgba(4, 27, 16, .15) 73%,
      rgba(4, 27, 16, .03) 100%
    );
}

.careers-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
}

.careers-hero-content h1 {
  max-width: 760px;
  margin: 0 0 16px;
  font-size: clamp(3rem, 5vw, 5rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.careers-hero-content > p:not(.careers-kicker) {
  max-width: 670px;
  margin: 0;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}

.careers-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 23px;
}

.careers-intro {
  padding: 38px 0 29px;
}

.careers-intro-grid {
  display: grid;
  grid-template-columns:
    minmax(380px, .88fr)
    minmax(0, 1.12fr);
  gap: 60px;
  align-items: end;
}

.careers-intro-grid h2,
.careers-growth-copy h2,
.careers-apply-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}

.careers-intro-grid > p,
.careers-growth-copy > p:not(.careers-kicker),
.careers-apply-copy > p:not(.careers-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.careers-heading {
  max-width: 850px;
  margin: 0 auto 24px;
  text-align: center;
}

.careers-heading .careers-kicker {
  text-align: center;
}

.careers-heading h2 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: clamp(1.9rem, 3vw, 2.8rem);
}

.careers-heading > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .79rem;
  line-height: 1.6;
}

.careers-values {
  padding: 33px 0 43px;
  background: #f7f9f5;
}

.careers-value-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
}

.careers-value-grid article {
  padding: 21px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}

.careers-value-grid svg {
  width: 34px;
  height: 34px;
  margin-bottom: 13px;
  color: var(--green);
  stroke-width: 1.7;
}

.careers-value-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .82rem;
}

.careers-value-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.5;
}

.careers-areas {
  padding: 40px 0 44px;
}

.careers-area-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.careers-area-grid article {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 10px 25px rgba(4, 27, 16, .07);
}

.careers-area-grid img {
  width: 100%;
  height: 210px;
  object-fit: cover;
}

.careers-area-grid article > div {
  padding: 19px;
}

.careers-area-grid span {
  display: block;
  margin-bottom: 6px;
  color: var(--lime);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.careers-area-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .88rem;
}

.careers-area-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.5;
}

.careers-growth {
  padding: 40px 0;
  background: #f7f9f5;
}

.careers-growth-grid {
  display: grid;
  grid-template-columns:
    minmax(360px, 420px)
    minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.careers-growth-copy > p:not(.careers-kicker) {
  margin-top: 13px;
}

.careers-growth-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.careers-growth-list article {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 13px;
  align-items: start;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 11px;
}

.careers-growth-list svg {
  width: 36px;
  height: 36px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}

.careers-growth-list h3 {
  margin: 0 0 4px;
  color: var(--dark);
  font-size: .76rem;
}

.careers-growth-list p {
  margin: 0;
  color: var(--muted);
  font-size: .65rem;
  line-height: 1.48;
}

.careers-openings {
  padding: 38px 0;
}

#current-vacancies .careers-heading { max-width: 1080px; }
#current-vacancies .careers-heading h2 { white-space: nowrap; }
#current-vacancies .careers-heading > p:last-child { max-width: 850px; margin-right: auto; margin-left: auto; }

@media (max-width: 1050px) {
  #current-vacancies .careers-heading h2 { white-space: normal; }
}

.careers-active-roles {
  display: grid;
  gap: 13px;
}

.careers-role-row {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 19px;
  align-items: center;
  padding: 21px 22px;
  background: linear-gradient(145deg, #f4f8f1, #fff 62%);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(4, 27, 16, .045);
}

.careers-role-icon {
  width: 52px;
  height: 52px;
  display: grid;
  color: var(--green);
  background: #fff;
  border: 1px solid #b8d39b;
  border-radius: 50%;
  place-items: center;
}

.careers-role-icon svg { width: 23px; height: 23px; }

.careers-role-copy > span {
  display: block;
  margin-bottom: 5px;
  color: var(--green);
  font-size: .57rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.careers-role-copy h3 {
  margin: 0 0 6px;
  color: var(--dark);
  font-size: .91rem;
  line-height: 1.35;
}

.careers-role-copy > p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: .68rem;
  line-height: 1.55;
}

.careers-role-meta { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 10px; }
.careers-role-meta small { display: inline-flex; align-items: center; gap: 5px; color: #4f6659; font-size: .59rem; font-weight: 700; }
.careers-role-meta svg { width: 14px; height: 14px; color: var(--green); }
.careers-role-row > .btn { white-space: nowrap; }

.careers-future-roles {
  margin-top: 22px;
  padding: 24px;
  background: #f7f9f5;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.careers-future-heading {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(300px, 1.1fr);
  gap: 35px;
  align-items: end;
  margin-bottom: 18px;
}

.careers-future-heading .careers-kicker { margin-bottom: 7px; }
.careers-future-heading h3 { margin: 0; color: var(--dark); font-size: 1.2rem; }
.careers-future-heading > p { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.55; }

.careers-future-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.careers-future-grid span {
  position: relative;
  padding: 11px 12px 11px 29px;
  color: #304d3e;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: .64rem;
  font-weight: 750;
  line-height: 1.4;
}

.careers-future-grid span::before {
  content: "";
  position: absolute;
  top: 16px;
  left: 13px;
  width: 6px;
  height: 6px;
  background: var(--lime);
  border-radius: 50%;
}

@media (max-width: 850px) {
  .careers-role-row { grid-template-columns: 48px minmax(0, 1fr); align-items: start; }
  .careers-role-icon { width: 46px; height: 46px; }
  .careers-role-row > .btn { grid-column: 2; justify-self: start; }
  .careers-future-heading { grid-template-columns: 1fr; gap: 10px; align-items: start; }
  .careers-future-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .careers-role-row { grid-template-columns: 1fr; padding: 19px; }
  .careers-role-row > .btn { grid-column: auto; width: 100%; justify-content: center; }
  .careers-future-roles { padding: 19px; }
  .careers-future-grid { grid-template-columns: 1fr; }
}

.careers-vacancy-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.careers-vacancy-grid article {
  min-height: 118px;
  padding: 20px;
  background: linear-gradient(145deg, #f3f7ef, #fff);
  border: 1px solid var(--line);
  border-radius: 13px;
  box-shadow: 0 8px 22px rgba(4, 27, 16, .05);
}

.careers-vacancy-grid span {
  display: block;
  margin-bottom: 9px;
  color: var(--green);
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.careers-vacancy-grid h3 {
  margin: 0;
  color: var(--dark);
  font-size: .82rem;
  line-height: 1.38;
}

.careers-vacancy-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.careers-vacancy-link article {
  height: 100%;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.careers-vacancy-link:hover article,
.careers-vacancy-link:focus-visible article {
  transform: translateY(-3px);
  border-color: rgba(5, 96, 57, .38);
  box-shadow: 0 12px 26px rgba(4, 27, 16, .11);
}

.careers-vacancy-link:focus-visible {
  outline: 3px solid rgba(101, 176, 58, .42);
  outline-offset: 4px;
  border-radius: 13px;
}

.careers-vacancy-link small {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 13px;
  color: var(--green);
  font-size: .58rem;
  font-weight: 800;
}

.careers-vacancy-link small svg { width: 14px; height: 14px; }

/* Bilingual job descriptions */
.jobs-page { background: #fff; }

.jobs-hero {
  position: relative;
  min-height: 390px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: #041b10 url("images/aerogel-lab-research-v1.webp") 68% center / cover no-repeat;
}

.jobs-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4,27,16,.96), rgba(4,27,16,.82) 45%, rgba(4,27,16,.22) 78%);
}

.jobs-hero-content { position: relative; z-index: 1; padding: 60px 0; }

.jobs-kicker {
  margin: 0 0 11px;
  color: var(--lime);
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.jobs-hero h1 {
  max-width: 830px;
  margin: 0 0 17px;
  font-size: clamp(2.8rem, 5vw, 5rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.jobs-hero-content > p:not(.jobs-kicker) {
  max-width: 720px;
  margin: 0 0 23px;
  color: #e4eee7;
  font-size: .96rem;
  line-height: 1.65;
}

.jobs-role-nav { padding: 24px 0; background: #f4f7f1; border-bottom: 1px solid var(--line); }
.jobs-role-nav-inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }

.jobs-role-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 17px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 11px;
  font-size: .7rem;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
}

.jobs-role-nav a:hover,
.jobs-role-nav a:focus-visible { border-color: var(--green); color: var(--green); }
.jobs-role-nav svg { width: 17px; height: 17px; flex: 0 0 auto; }

.job-role { padding: 54px 0; scroll-margin-top: 110px; }
.job-role:nth-of-type(even) { background: #f7f9f5; }

.job-role-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  margin-bottom: 25px;
}

.job-role-header h2 {
  max-width: 900px;
  margin: 0 0 7px;
  color: var(--dark);
  font-size: clamp(1.9rem, 3.3vw, 3.2rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.job-role-header .thai-title { margin: 0; color: var(--green); font-size: 1rem; font-weight: 800; }
.job-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 25px; }

.job-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  color: #244536;
  background: #edf4e9;
  border-radius: 999px;
  font-size: .63rem;
  font-weight: 750;
}

.job-meta svg { width: 15px; height: 15px; color: var(--green); }
.job-language-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }

.job-language-panel {
  padding: 25px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 9px 24px rgba(4, 27, 16, .05);
}

.job-language-panel[lang="th"] { font-family: "Noto Sans Thai", "Manrope", Tahoma, sans-serif; }

.job-language-label {
  display: inline-block;
  margin-bottom: 16px;
  padding: 5px 9px;
  color: #fff;
  background: var(--green);
  border-radius: 999px;
  font-size: .57rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.job-language-panel h3 { margin: 20px 0 8px; color: var(--dark); font-size: .83rem; }
.job-language-panel h3:first-of-type { margin-top: 0; }

.job-language-panel ul {
  margin: 0;
  padding-left: 20px;
  color: #455d50;
  font-size: .72rem;
  line-height: 1.65;
}

.job-language-panel li + li { margin-top: 5px; }

.job-note {
  margin: 22px 0 0;
  padding: 15px 17px;
  color: #496052;
  background: #eef4eb;
  border-left: 4px solid var(--lime);
  border-radius: 8px;
  font-size: .68rem;
  line-height: 1.6;
}

.jobs-closing { padding: 45px 0; color: #fff; background: linear-gradient(135deg, #0a4929, #041b10); }
.jobs-closing-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.jobs-closing h2 { margin: 0 0 8px; font-size: clamp(1.7rem, 3vw, 2.8rem); }
.jobs-closing p { max-width: 720px; margin: 0; color: #dce9e0; font-size: .78rem; line-height: 1.6; }

@media (max-width: 850px) {
  .jobs-role-nav-inner { grid-template-columns: 1fr; }
  .job-role-header { grid-template-columns: 1fr; align-items: start; }
  .job-role-header .btn { justify-self: start; }
  .job-language-grid { grid-template-columns: 1fr; }
  .jobs-closing-inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .jobs-hero { min-height: 360px; background-position: 74% center; }
  .jobs-hero-content { padding: 48px 0; }
  .jobs-hero h1 { font-size: 2.55rem; }
  .job-role { padding: 40px 0; }
  .job-language-panel { padding: 20px; }
}

.careers-openings-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 20px;
  padding: 22px 24px;
  color: #fff;
  background: linear-gradient(135deg, #0a4929, #062719);
  border-radius: 13px;
}

.careers-openings-action p { margin: 0; font-size: .76rem; font-weight: 700; }

.careers-process {
  padding: 40px 0 44px;
  background: #f7f9f5;
}

.careers-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.careers-process-grid article {
  min-height: 158px;
  padding: 21px 18px 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.careers-process-grid span {
  display: inline-grid;
  width: 31px;
  height: 31px;
  margin-bottom: 12px;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  place-items: center;
  font-size: .61rem;
  font-weight: 800;
}

.careers-process-grid h3 {
  margin: 0 0 6px;
  color: var(--dark);
  font-size: .77rem;
}

.careers-process-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.48;
}

.careers-apply {
  padding: 40px 0;
}

.careers-apply-grid {
  display: grid;
  grid-template-columns:
    minmax(340px, .8fr)
    minmax(0, 1.2fr);
  gap: 48px;
  align-items: start;
  padding: 30px;
  background: linear-gradient(145deg, #f4f7f1, #fff);
  border: 1px solid var(--line);
  border-radius: 16px;
}

.careers-apply-copy > p:not(.careers-kicker) {
  margin-top: 13px;
}

.careers-apply-points {
  display: grid;
  gap: 9px;
  margin-top: 19px;
}

.careers-apply-points span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--dark);
  font-size: .7rem;
  font-weight: 700;
}

.careers-apply-points svg {
  width: 18px;
  height: 18px;
  color: var(--green);
}

.careers-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.careers-field {
  display: grid;
  gap: 6px;
}

.careers-field-full {
  grid-column: 1 / -1;
}

.careers-field label {
  color: var(--dark);
  font-size: .61rem;
  font-weight: 800;
}

.careers-field input,
.careers-field select,
.careers-field textarea {
  width: 100%;
  padding: 12px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  font: inherit;
  font-size: .72rem;
}

.careers-field textarea {
  min-height: 120px;
  resize: vertical;
}

.careers-field input:focus,
.careers-field select:focus,
.careers-field textarea:focus {
  outline: 2px solid rgba(111, 157, 36, .22);
  border-color: var(--lime);
}

.careers-captcha {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 9px;
  align-items: center;
  padding: 12px 13px;
  color: var(--muted);
  background: #fff;
  border: 1px dashed #aebcad;
  border-radius: 9px;
  font-size: .62rem;
}

.careers-captcha svg {
  width: 19px;
  height: 19px;
  color: var(--green);
}

.careers-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.careers-form-footer small {
  max-width: 280px;
  color: var(--muted);
  font-size: .56rem;
  text-align: right;
}

.careers-form-footer small a {
  color: var(--green);
  font-weight: 750;
}

.careers-cta {
  padding: 34px 0;
}

.careers-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 30px;
  color: #fff;
  background: linear-gradient(135deg, #0a4929, #062719);
  border-radius: 15px;
}

.careers-cta-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem, 2.3vw, 2rem);
}

.careers-cta-inner > div > p:last-child {
  margin: 0;
  color: #dce8df;
  font-size: .76rem;
}

@media (max-width: 1050px) {
  .careers-intro-grid,
  .careers-growth-grid,
  .careers-apply-grid,
  .careers-cta-inner {
    grid-template-columns: 1fr;
  }

  .careers-vacancy-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

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

@media (max-width: 760px) {
  .careers-area-grid,
  .careers-growth-list,
  .careers-form {
    grid-template-columns: 1fr;
  }

  .careers-vacancy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .careers-field-full {
    grid-column: auto;
  }
}

@media (max-width: 600px) {
  .careers-hero {
    min-height: 400px;
  }

  .careers-hero-image {
    background-position: 67% center;
  }

  .careers-hero-overlay {
    background: rgba(4, 27, 16, .75);
  }

  .careers-hero-content {
    padding: 44px 0;
  }

  .careers-hero-content h1 {
    font-size: 2.5rem;
  }

  .careers-value-grid,
  .careers-process-grid {
    grid-template-columns: 1fr;
  }

  .careers-vacancy-grid { grid-template-columns: 1fr; }
  .careers-openings-action { align-items: flex-start; flex-direction: column; }

  .careers-apply-grid {
    padding: 23px 20px;
  }

  .careers-form-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .careers-form-footer small {
    max-width: none;
    text-align: left;
  }
}

/* === TESTIMONIALS PAGE === */
.testimonials-page{overflow:hidden}.testimonials-kicker{margin:0 0 9px;color:var(--lime);font-family:Manrope,Arial,sans-serif;font-size:.68rem;font-weight:800;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.testimonials-hero{position:relative;min-height:430px;display:grid;align-items:center;color:#fff;background:var(--dark);overflow:hidden}.testimonials-hero-image,.testimonials-hero-overlay{position:absolute;inset:0}.testimonials-hero-image{background:url("images/testimonials-hero.webp") center/cover no-repeat}.testimonials-hero-overlay{background:linear-gradient(90deg,rgba(4,27,16,.95),rgba(4,27,16,.78) 42%,rgba(4,27,16,.12) 76%)}.testimonials-hero-content{position:relative;z-index:2;padding:54px 0}.testimonials-hero-content h1{max-width:830px;margin:0 0 16px;font-size:clamp(3rem,5vw,5rem);line-height:.98;letter-spacing:-.045em}.testimonials-hero-content>p:not(.testimonials-kicker){max-width:700px;margin:0 0 23px;color:#e5eee8;font-size:1rem;line-height:1.65}
.testimonials-intro{padding:38px 0 29px}.testimonials-intro-grid,.testimonials-verification-grid,.testimonials-submit-grid{display:grid;grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr);gap:52px;align-items:start}.testimonials-intro-grid{align-items:end}.testimonials-intro h2,.testimonials-verification h2,.testimonials-submit h2{margin:0;color:var(--dark);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12;letter-spacing:-.035em}.testimonials-intro-grid>p,.testimonials-verification-grid>div>p:last-child,.testimonials-submit-grid>div>p:last-child{margin:0;color:var(--muted);font-size:.82rem;line-height:1.72}
.testimonials-heading{max-width:850px;margin:0 auto 24px;text-align:center}.testimonials-heading h2{margin:0 0 8px;color:var(--dark);font-size:clamp(1.9rem,3vw,2.8rem)}.testimonials-heading>p:last-child{margin:0;color:var(--muted);font-size:.79rem;line-height:1.6}
.testimonials-types,.testimonials-story-types,.testimonials-submit{padding:40px 0;background:#f7f9f5}.testimonials-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.testimonials-type-grid article{padding:21px;background:#fff;border:1px solid var(--line);border-radius:13px}.testimonials-type-grid svg{width:34px;height:34px;margin-bottom:13px;color:var(--green)}.testimonials-type-grid h3{margin:0 0 7px;font-size:.82rem}.testimonials-type-grid p{margin:0;color:var(--muted);font-size:.67rem;line-height:1.5}
.testimonials-featured,.testimonials-verification{padding:40px 0}.testimonials-quote-grid,.testimonials-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.testimonials-quote-card{display:flex;flex-direction:column;min-height:285px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 25px rgba(4,27,16,.07)}.testimonials-quote-card>svg{width:35px;height:35px;margin:20px 0;color:#c7d9ba}.testimonials-quote-card p{flex:1;margin:0 0 20px;color:var(--muted);font-size:.82rem;font-style:italic;line-height:1.7}.testimonials-quote-card strong{font-size:.73rem}.testimonials-quote-card small{color:var(--muted);font-size:.61rem}.testimonials-status{width:max-content;padding:6px 9px;color:var(--green);background:#f1f6ec;border-radius:999px;font-size:.57rem;font-weight:800;text-transform:uppercase}
.testimonials-story-grid article{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px}.testimonials-story-grid img{width:100%;height:205px;object-fit:cover}.testimonials-story-grid article>div{padding:19px}.testimonials-story-grid h3{margin:0 0 7px;font-size:.86rem}.testimonials-story-grid article>div>p:last-child{margin:0;color:var(--muted);font-size:.66rem;line-height:1.5}
.testimonials-verification-steps{display:grid;gap:11px}.testimonials-verification-steps article{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:15px 17px;background:#f8faf7;border:1px solid var(--line);border-radius:11px}.testimonials-verification-steps span{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:var(--green);border-radius:50%;font-size:.65rem;font-weight:800}.testimonials-verification-steps h3{margin:0 0 3px;font-size:.77rem}.testimonials-verification-steps p{margin:0;color:var(--muted);font-size:.65rem;line-height:1.48}
.testimonials-submit-grid{padding:30px;background:#fff;border:1px solid var(--line);border-radius:16px}.testimonials-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.testimonials-form label{display:grid;gap:6px;color:var(--dark);font-size:.61rem;font-weight:800}.testimonials-form input,.testimonials-form select,.testimonials-form textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:.72rem}.testimonials-form textarea{min-height:120px;resize:vertical}.testimonials-form .full{grid-column:1/-1}.testimonials-form .consent{grid-template-columns:18px 1fr;align-items:start;color:var(--muted);font-weight:500;line-height:1.5}.testimonials-form .consent input{width:16px;height:16px}.testimonials-captcha{display:grid;grid-template-columns:24px 1fr;gap:9px;align-items:center;padding:12px 13px;color:var(--muted);background:#fff;border:1px dashed #aebcad;border-radius:9px;font-size:.62rem}.testimonials-captcha svg{width:19px;height:19px;color:var(--green)}.testimonials-form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.testimonials-form-footer small{max-width:280px;color:var(--muted);font-size:.56rem;text-align:right}
@media(max-width:1050px){.testimonials-intro-grid,.testimonials-verification-grid,.testimonials-submit-grid{grid-template-columns:1fr}.testimonials-type-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.testimonials-quote-grid,.testimonials-story-grid,.testimonials-form{grid-template-columns:1fr}.testimonials-form .full{grid-column:auto}}@media(max-width:600px){.testimonials-hero{min-height:400px}.testimonials-hero-overlay{background:rgba(4,27,16,.75)}.testimonials-hero-content h1{font-size:2.45rem}.testimonials-type-grid{grid-template-columns:1fr}.testimonials-submit-grid{padding:23px 20px}.testimonials-form-footer{align-items:flex-start;flex-direction:column}.testimonials-form-footer small{text-align:left}}


/* ============================================================
   CONTACT US PAGE
   ============================================================ */

.contact-page { overflow: hidden; }

.contact-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.contact-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}
.contact-hero-image,
.contact-hero-overlay { position: absolute; inset: 0; }
.contact-hero-image {
  background: url("images/contact-us-hero.webp") center / cover no-repeat;
}
.contact-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.95) 0%, rgba(4,27,16,.78) 42%, rgba(4,27,16,.14) 75%, rgba(4,27,16,.03) 100%);
}
.contact-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
}
.contact-hero-content h1 {
  max-width: 780px;
  margin: 0 0 16px;
  font-size: clamp(3rem,5vw,5rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.contact-hero-content > p:not(.contact-kicker) {
  max-width: 680px;
  margin: 0 0 23px;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}

.contact-heading {
  max-width: 850px;
  margin: 0 auto 24px;
  text-align: center;
}
.contact-heading .contact-kicker { text-align: center; }
.contact-heading h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.9rem,3vw,2.8rem);
}

.contact-departments {
  padding: 38px 0 43px;
  background: #f7f9f5;
}
.contact-department-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 15px;
}
.contact-department-grid article {
  padding: 21px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.contact-department-grid svg {
  width: 34px;
  height: 34px;
  margin-bottom: 13px;
  color: var(--green);
  stroke-width: 1.7;
}
.contact-department-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .82rem;
}
.contact-department-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.5;
}

.contact-details { padding: 40px 0; }
.contact-details-grid {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr);
  gap: 48px;
  align-items: center;
}
.contact-details-copy h2,
.contact-form-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.contact-details-copy > p:not(.contact-kicker),
.contact-form-copy > p:not(.contact-kicker) {
  margin: 13px 0 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}
.contact-details-grid > img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: var(--shadow);
}
.contact-detail-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 11px;
  margin-top: 19px;
}
.contact-detail-list article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: start;
  padding: 15px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.contact-detail-list svg {
  width: 34px;
  height: 34px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.contact-detail-list h3 {
  margin: 0 0 3px;
  color: var(--dark);
  font-size: .73rem;
}
.contact-detail-list p,
.contact-detail-list a,
.contact-detail-list span {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.45;
}
.contact-detail-list a { color: var(--green); font-weight: 750; }
.contact-detail-list span { display: block; margin-top: 3px; color: var(--green); font-weight: 700; }

.contact-form-section {
  padding: 40px 0;
  background: #f7f9f5;
}
.contact-form-grid {
  display: grid;
  grid-template-columns: minmax(340px,.82fr) minmax(0,1.18fr);
  gap: 48px;
  align-items: start;
}
.contact-form-support {
  overflow: hidden;
  margin-top: 20px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.contact-form-support img {
  width: 100%;
  height: 190px;
  object-fit: cover;
}
.contact-form-support div { padding: 17px; }
.contact-form-support h3 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: .78rem;
}
.contact-form-support ul {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.55;
}

.contact-form {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  padding: 25px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 15px;
}
.contact-field {
  display: grid;
  gap: 6px;
}
.contact-field-full { grid-column: 1/-1; }
.contact-field label {
  color: var(--dark);
  font-size: .61rem;
  font-weight: 800;
}
.contact-field input,
.contact-field select,
.contact-field textarea {
  width: 100%;
  padding: 12px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  font: inherit;
  font-size: .72rem;
}
.contact-field textarea {
  min-height: 135px;
  resize: vertical;
}
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
  outline: 2px solid rgba(111,157,36,.22);
  border-color: var(--lime);
}
.contact-captcha {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 9px;
  align-items: center;
  padding: 12px 13px;
  color: var(--muted);
  border: 1px dashed #aebcad;
  border-radius: 9px;
  font-size: .62rem;
}
.contact-captcha svg {
  width: 19px;
  height: 19px;
  color: var(--green);
}
.contact-consent label {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 9px;
  align-items: start;
  color: var(--muted);
  font-size: .61rem;
  font-weight: 500;
  line-height: 1.5;
}
.contact-consent input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
}
.contact-consent a {
  color: var(--green);
  font-weight: 750;
}
.contact-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.contact-form-footer small {
  color: var(--muted);
  font-size: .56rem;
}

.contact-location-note { padding: 34px 0; }
.contact-location-note-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 30px;
  color: #fff;
  background: linear-gradient(135deg,#0a4929,#062719);
  border-radius: 15px;
}
.contact-location-note-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem,2.3vw,2rem);
}
.contact-location-note-inner > div > p:last-child {
  margin: 0;
  color: #dce8df;
  font-size: .76rem;
}

@media (max-width: 1050px) {
  .contact-details-grid,
  .contact-form-grid,
  .contact-location-note-inner {
    grid-template-columns: 1fr;
  }

  .contact-department-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 680px) {
  .contact-hero { min-height: 400px; }
  .contact-hero-image { background-position: 68% center; }
  .contact-hero-overlay { background: rgba(4,27,16,.75); }
  .contact-hero-content { padding: 44px 0; }
  .contact-hero-content h1 { font-size: 2.5rem; }

  .contact-department-grid,
  .contact-detail-list,
  .contact-form {
    grid-template-columns: 1fr;
  }

  .contact-field-full { grid-column: auto; }

  .contact-form { padding: 22px 19px; }

  .contact-form-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* ============================================================
   LEGAL PAGES — PRIVACY POLICY & TERMS
   ============================================================ */
.legal-page {
  overflow: hidden;
  background: #fff;
}

.legal-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.legal-hero {
  color: #fff;
  background:
    radial-gradient(circle at 80% 20%, rgba(143, 188, 62, .25), transparent 30%),
    linear-gradient(135deg, #0a4929, #062719);
}

.legal-hero-content {
  padding: 58px 0;
}

.legal-hero-content h1 {
  margin: 0 0 12px;
  font-size: clamp(2.7rem, 4.8vw, 4.7rem);
  line-height: 1;
  letter-spacing: -.04em;
}

.legal-hero-content > p:not(.legal-kicker) {
  max-width: 760px;
  margin: 0;
  color: #dce8df;
  font-size: .9rem;
  line-height: 1.65;
}

.legal-section {
  padding: 42px 0 58px;
}

.legal-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 50px;
  align-items: start;
}

.legal-sidebar {
  position: sticky;
  top: 24px;
  padding: 20px;
  background: #f7f9f5;
  border: 1px solid var(--line);
  border-radius: 13px;
}

.legal-sidebar > strong {
  display: block;
  margin-bottom: 12px;
  color: var(--dark);
  font-size: .75rem;
}

.legal-sidebar nav {
  display: grid;
  gap: 3px;
}

.legal-sidebar a {
  display: block;
  padding: 7px 8px;
  color: var(--muted);
  border-radius: 7px;
  font-size: .62rem;
  line-height: 1.35;
}

.legal-sidebar a:hover {
  color: var(--green);
  background: #edf4e8;
}

.legal-content {
  min-width: 0;
  max-width: 920px;
}

.legal-content section {
  scroll-margin-top: 25px;
  padding: 3px 0 7px;
}

.legal-content h2 {
  margin: 29px 0 10px;
  color: var(--dark);
  font-size: 1.13rem;
  line-height: 1.3;
}

.legal-content section:first-of-type h2 {
  margin-top: 20px;
}

.legal-content p,
.legal-content li {
  color: var(--muted);
  font-size: .74rem;
  line-height: 1.72;
}

.legal-content p {
  margin: 0 0 12px;
}

.legal-content ul {
  margin: 0 0 14px;
  padding-left: 21px;
}

.legal-content li {
  margin: 5px 0;
}

.legal-content a {
  color: var(--green);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.legal-review-notice {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 14px;
  align-items: start;
  padding: 17px;
  color: #664d00;
  background: #fff8df;
  border: 1px solid #ead382;
  border-radius: 12px;
}

.legal-review-notice svg {
  width: 34px;
  height: 34px;
  padding: 7px;
  color: #8a6500;
  background: #fff;
  border-radius: 50%;
}

.legal-review-notice strong {
  display: block;
  margin-bottom: 4px;
  font-size: .75rem;
}

.legal-review-notice p {
  margin: 0;
  color: #755b13;
  font-size: .66rem;
  line-height: 1.55;
}

.legal-updated {
  margin: 17px 0 0 !important;
  font-size: .64rem !important;
  font-style: italic;
}

.legal-placeholder {
  margin: 13px 0 15px;
  padding: 13px 15px;
  color: #365027;
  background: #f1f6ec;
  border-left: 3px solid var(--lime);
  border-radius: 8px;
  font-size: .65rem;
  line-height: 1.55;
}

.legal-placeholder strong {
  color: var(--dark);
}

.legal-table-wrap {
  margin: 14px 0 16px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 11px;
}

.legal-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  background: #fff;
}

.legal-table th,
.legal-table td {
  padding: 12px 13px;
  text-align: left;
  vertical-align: top;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: .64rem;
  line-height: 1.5;
}

.legal-table th {
  color: #fff;
  background: var(--dark);
  font-size: .61rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.legal-table td {
  color: var(--muted);
}

.legal-table th:last-child,
.legal-table td:last-child {
  border-right: 0;
}

.legal-table tr:last-child td {
  border-bottom: 0;
}

.legal-contact-card {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: start;
  max-width: 470px;
  margin: 15px 0;
  padding: 15px;
  background: #f7f9f5;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.legal-contact-card svg {
  width: 34px;
  height: 34px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}

.legal-contact-card strong,
.legal-contact-card a,
.legal-contact-card span {
  display: block;
}

.legal-contact-card strong {
  margin-bottom: 3px;
  color: var(--dark);
  font-size: .72rem;
}

.legal-contact-card a,
.legal-contact-card span {
  font-size: .64rem;
  line-height: 1.45;
}

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

  .legal-sidebar {
    position: static;
  }

  .legal-sidebar nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .legal-hero-content {
    padding: 44px 0;
  }

  .legal-hero-content h1 {
    font-size: 2.5rem;
  }

  .legal-sidebar nav {
    grid-template-columns: 1fr;
  }

  .legal-review-notice {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   SUSTAINABLE PARTNERSHIP APPLICATION FORM
   ============================================================ */
.sustain-apply-section {
  padding: 40px 0;
  background: #f7f9f5;
}

.sustain-apply-grid {
  display: grid;
  grid-template-columns: minmax(350px, .82fr) minmax(0, 1.18fr);
  gap: 48px;
  align-items: start;
  padding: 30px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.sustain-apply-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}

.sustain-apply-copy > p:not(.sustain-partners-kicker) {
  margin: 13px 0 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.sustain-apply-points {
  display: grid;
  gap: 9px;
  margin-top: 19px;
}

.sustain-apply-points span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--dark);
  font-size: .7rem;
  font-weight: 700;
}

.sustain-apply-points svg {
  width: 18px;
  height: 18px;
  color: var(--green);
}

.sustain-application-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.sustain-application-field {
  display: grid;
  gap: 6px;
}

.sustain-application-field-full {
  grid-column: 1 / -1;
}

.sustain-application-field label {
  color: var(--dark);
  font-size: .61rem;
  font-weight: 800;
}

.sustain-application-field input,
.sustain-application-field select,
.sustain-application-field textarea {
  width: 100%;
  padding: 12px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  font: inherit;
  font-size: .72rem;
}

.sustain-application-field textarea {
  min-height: 130px;
  resize: vertical;
}

.sustain-application-field input:focus,
.sustain-application-field select:focus,
.sustain-application-field textarea:focus {
  outline: 2px solid rgba(111, 157, 36, .22);
  border-color: var(--lime);
}

.sustain-consent label {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 9px;
  align-items: start;
  color: var(--muted);
  font-size: .61rem;
  font-weight: 500;
  line-height: 1.5;
}

.sustain-consent input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
}

.sustain-consent a {
  color: var(--green);
  font-weight: 750;
}

.sustain-captcha {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 9px;
  align-items: center;
  padding: 12px 13px;
  color: var(--muted);
  border: 1px dashed #aebcad;
  border-radius: 9px;
  font-size: .62rem;
}

.sustain-captcha svg {
  width: 19px;
  height: 19px;
  color: var(--green);
}

.sustain-application-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.sustain-application-footer small {
  max-width: 300px;
  color: var(--muted);
  font-size: .56rem;
  text-align: right;
}

@media (max-width: 1000px) {
  .sustain-apply-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {
  .sustain-application-form {
    grid-template-columns: 1fr;
  }

  .sustain-application-field-full {
    grid-column: auto;
  }

  .sustain-apply-grid {
    padding: 23px 20px;
  }

  .sustain-application-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .sustain-application-footer small {
    max-width: none;
    text-align: left;
  }
}


/* ============================================================
   TECHNICAL RESOURCES PAGE
   ============================================================ */
.resources-page { overflow: hidden; }

.resources-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.resources-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}
.resources-hero-image,
.resources-hero-overlay { position: absolute; inset: 0; }
.resources-hero-image {
  background: url("images/technical-resources-hero.webp") center / cover no-repeat;
}
.resources-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.96) 0%, rgba(4,27,16,.8) 42%, rgba(4,27,16,.18) 74%, rgba(4,27,16,.03) 100%);
}
.resources-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
}
.resources-hero-content h1 {
  max-width: 900px;
  margin: 0 0 16px;
  font-size: clamp(3rem,5vw,5rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.resources-hero-content > p:not(.resources-kicker) {
  max-width: 700px;
  margin: 0;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}
.resources-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 23px;
}

.resources-intro { padding: 38px 0 29px; }
.resources-intro-grid {
  display: grid;
  grid-template-columns: minmax(390px,.9fr) minmax(0,1.1fr);
  gap: 60px;
  align-items: end;
}
.resources-intro-grid h2,
.resources-support-copy h2,
.resources-samples-copy h2,
.resources-request-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.resources-intro-grid > p,
.resources-support-copy > p:not(.resources-kicker),
.resources-samples-copy > p:not(.resources-kicker),
.resources-request-copy > p:not(.resources-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.resources-heading {
  max-width: 850px;
  margin: 0 auto 24px;
  text-align: center;
}
.resources-heading h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.9rem,3vw,2.8rem);
}

@media (min-width: 1100px) {
  .resources-library .resources-heading {
    max-width: none;
  }

  .resources-library .resources-heading h2 {
    white-space: nowrap;
  }
}

.resources-library {
  padding: 34px 0 44px;
  background: #f7f9f5;
}
.resources-card-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 15px;
}
.resources-card-grid article {
  position: relative;
  min-height: 225px;
  padding: 21px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.resources-card-grid > article > svg {
  width: 34px;
  height: 34px;
  margin-bottom: 13px;
  color: var(--green);
  stroke-width: 1.7;
}
.resources-card-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .82rem;
}
.resources-card-grid p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: .66rem;
  line-height: 1.5;
}
.resources-card-grid a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--green);
  font-size: .62rem;
  font-weight: 800;
}
.resources-card-grid a svg {
  width: 14px;
  height: 14px;
}
.resource-status {
  position: absolute;
  top: 17px;
  right: 17px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: .53rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.resource-status.request { color: #31521d; background: #edf4e8; }
.resource-status.review { color: #735b00; background: #fff6d7; }
.resource-status.sample { color: #174a62; background: #e7f4f8; }
.resource-status.support { color: #4e3b71; background: #f0eafa; }

.resources-support,
.resources-samples { padding: 40px 0; }
.resources-support-grid,
.resources-samples-grid {
  display: grid;
  grid-template-columns: minmax(430px,.95fr) minmax(0,1.05fr);
  gap: 48px;
  align-items: center;
}
.resources-support-grid > img,
.resources-samples-grid > img {
  width: 100%;
  height: 345px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: var(--shadow);
}
.resources-support-copy > p:not(.resources-kicker),
.resources-samples-copy > p:not(.resources-kicker) {
  margin-top: 13px;
}
.resources-support-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.resources-support-list article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  padding: 14px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.resources-support-list svg {
  width: 34px;
  height: 34px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.resources-support-list h3 {
  margin: 0 0 3px;
  font-size: .74rem;
}
.resources-support-list p {
  margin: 0;
  color: var(--muted);
  font-size: .63rem;
  line-height: 1.45;
}

.resources-samples {
  background: #f7f9f5;
}
.resources-samples-grid {
  grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr);
}
.resources-sample-types {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.resources-sample-types span,
.resources-request-points span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 11px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: .67rem;
  font-weight: 700;
}
.resources-sample-types svg,
.resources-request-points svg {
  width: 18px;
  height: 18px;
  color: var(--green);
}

.resources-process { padding: 40px 0 44px; }
.resources-process-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.resources-process-grid article {
  min-height: 160px;
  padding: 21px 18px 18px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.resources-process-grid span {
  display: inline-grid;
  width: 31px;
  height: 31px;
  margin-bottom: 12px;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  place-items: center;
  font-size: .61rem;
  font-weight: 800;
}
.resources-process-grid h3 {
  margin: 0 0 6px;
  font-size: .77rem;
}
.resources-process-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.48;
}

.resources-request {
  padding: 40px 0;
  background: #f7f9f5;
}
.resources-request-grid {
  display: grid;
  grid-template-columns: minmax(350px,.82fr) minmax(0,1.18fr);
  gap: 48px;
  align-items: start;
  padding: 30px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
}
.resources-request-copy > p:not(.resources-kicker) { margin-top: 13px; }
.resources-request-points {
  display: grid;
  gap: 9px;
  margin-top: 19px;
}
.resources-request-points span {
  min-height: auto;
  padding: 0;
  background: transparent;
  border: 0;
}
.resources-form {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.resources-field {
  display: grid;
  gap: 6px;
}
.resources-field-full { grid-column: 1/-1; }
.resources-field label {
  color: var(--dark);
  font-size: .61rem;
  font-weight: 800;
}
.resources-field input,
.resources-field select,
.resources-field textarea {
  width: 100%;
  padding: 12px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  font: inherit;
  font-size: .72rem;
}
.resources-field textarea {
  min-height: 135px;
  resize: vertical;
}
.resources-consent label {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 9px;
  align-items: start;
  color: var(--muted);
  font-size: .61rem;
  font-weight: 500;
  line-height: 1.5;
}
.resources-consent input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
}
.resources-consent a {
  color: var(--green);
  font-weight: 750;
}
.resources-captcha {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 9px;
  align-items: center;
  padding: 12px 13px;
  color: var(--muted);
  border: 1px dashed #aebcad;
  border-radius: 9px;
  font-size: .62rem;
}
.resources-captcha svg {
  width: 19px;
  height: 19px;
  color: var(--green);
}
.resources-form-footer {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 14px 20px;
  padding-top: 4px;
}
.resources-form-footer .form-consent {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
  padding: 12px 14px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 9px;
}
.resources-form-footer .btn {
  grid-column: 2;
  grid-row: 2;
  min-width: 220px;
  justify-content: center;
}
.resources-form-footer small {
  grid-column: 1;
  grid-row: 2;
  max-width: 470px;
  color: var(--muted);
  font-size: .59rem;
  line-height: 1.5;
  text-align: left;
}

@media (max-width: 1050px) {
  .resources-intro-grid,
  .resources-support-grid,
  .resources-samples-grid,
  .resources-request-grid {
    grid-template-columns: 1fr;
  }
  .resources-card-grid,
  .resources-process-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 680px) {
  .resources-hero { min-height: 400px; }
  .resources-hero-overlay { background: rgba(4,27,16,.75); }
  .resources-hero-content h1 { font-size: 2.45rem; }

  .resources-card-grid,
  .resources-support-list,
  .resources-sample-types,
  .resources-process-grid,
  .resources-form {
    grid-template-columns: 1fr;
  }

  .resources-field-full { grid-column: auto; }
  .resources-request-grid { padding: 23px 20px; }

  .resources-form-footer {
    grid-template-columns: 1fr;
    align-items: flex-start;
  }

  .resources-form-footer .form-consent,
  .resources-form-footer .btn,
  .resources-form-footer small {
    grid-column: 1;
    grid-row: auto;
    max-width: none;
    text-align: left;
  }

  .resources-form-footer .btn {
    width: 100%;
    min-width: 0;
  }
}

/* ============================================================
   AEROGEL POWDER PRODUCT PAGE
   ============================================================ */
.powder-page { overflow: hidden; }

.powder-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.powder-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}
.powder-hero-image,
.powder-hero-overlay { position: absolute; inset: 0; }
.powder-hero-image {
  background: url("images/aerogel-lab-research-v1.webp") center / cover no-repeat;
  transform: scale(1.02);
}
.powder-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.96) 0%, rgba(4,27,16,.82) 44%, rgba(4,27,16,.22) 74%, rgba(4,27,16,.04) 100%);
}
.powder-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
}
.powder-hero-content h1 {
  max-width: 900px;
  margin: 0 0 16px;
  font-size: clamp(3rem,5vw,5rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.powder-hero-content > p:not(.powder-kicker) {
  max-width: 720px;
  margin: 0;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}
.powder-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 23px;
}

.powder-intro { padding: 38px 0 32px; }
.powder-intro-grid {
  display: grid;
  grid-template-columns: minmax(390px,.92fr) minmax(0,1.08fr);
  gap: 60px;
  align-items: end;
}
.powder-intro-grid h2,
.powder-material-copy h2,
.powder-applications-copy h2,
.powder-enquiry-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.powder-intro-grid > p,
.powder-material-copy > p:not(.powder-kicker),
.powder-applications-copy > p:not(.powder-kicker),
.powder-enquiry-copy > p:not(.powder-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.powder-heading {
  max-width: 840px;
  margin: 0 auto 24px;
  text-align: center;
}
.powder-heading h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.9rem,3vw,2.8rem);
}

.powder-characteristics {
  padding: 35px 0 43px;
  background: #f7f9f5;
}
.powder-characteristic-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 15px;
}
.powder-characteristic-grid article {
  padding: 21px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.powder-characteristic-grid svg {
  width: 34px;
  height: 34px;
  margin-bottom: 13px;
  color: var(--green);
  stroke-width: 1.7;
}
.powder-characteristic-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .82rem;
}
.powder-characteristic-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.5;
}

.powder-material,
.powder-applications { padding: 40px 0; }
.powder-material-grid,
.powder-applications-grid {
  display: grid;
  grid-template-columns: minmax(430px,.95fr) minmax(0,1.05fr);
  gap: 48px;
  align-items: center;
}
.powder-material-grid > img,
.powder-applications-grid > img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: var(--shadow);
}
.powder-material-copy > p:not(.powder-kicker),
.powder-applications-copy > p:not(.powder-kicker),
.powder-enquiry-copy > p:not(.powder-kicker) {
  margin-top: 13px;
}
.powder-material-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.powder-material-list article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  padding: 14px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.powder-material-list svg {
  width: 34px;
  height: 34px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.powder-material-list h3 {
  margin: 0 0 3px;
  font-size: .73rem;
}
.powder-material-list p {
  margin: 0;
  color: var(--muted);
  font-size: .62rem;
  line-height: 1.45;
}

.powder-applications {
  background: #f7f9f5;
}
.powder-applications-grid {
  grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr);
}
.powder-application-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.powder-application-list span,
.powder-enquiry-points span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 11px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: .67rem;
  font-weight: 700;
}
.powder-application-list svg,
.powder-enquiry-points svg {
  width: 18px;
  height: 18px;
  color: var(--green);
}

.powder-development { padding: 40px 0 44px; }
.powder-process-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.powder-process-grid article {
  min-height: 160px;
  padding: 21px 18px 18px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.powder-process-grid span {
  display: inline-grid;
  width: 31px;
  height: 31px;
  margin-bottom: 12px;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  place-items: center;
  font-size: .61rem;
  font-weight: 800;
}
.powder-process-grid h3 {
  margin: 0 0 6px;
  font-size: .77rem;
}
.powder-process-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.48;
}

.powder-documents { padding: 34px 0; }
.powder-documents-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 30px;
  color: #fff;
  background: linear-gradient(135deg,#0a4929,#062719);
  border-radius: 15px;
}
.powder-documents-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem,2.3vw,2rem);
}
.powder-documents-inner > div:first-child > p:last-child {
  margin: 0;
  max-width: 730px;
  color: #dce8df;
  font-size: .76rem;
  line-height: 1.55;
}
.powder-document-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.powder-enquiry {
  padding: 40px 0;
  background: #f7f9f5;
}
.powder-enquiry-grid {
  display: grid;
  grid-template-columns: minmax(350px,.82fr) minmax(0,1.18fr);
  gap: 48px;
  align-items: start;
  padding: 30px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
}
.powder-enquiry-points {
  display: grid;
  gap: 9px;
  margin-top: 19px;
}
.powder-enquiry-points span {
  min-height: auto;
  padding: 0;
  background: transparent;
  border: 0;
}
.powder-form {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.powder-field {
  display: grid;
  gap: 6px;
}
.powder-field-full { grid-column: 1/-1; }
.powder-field label {
  color: var(--dark);
  font-size: .61rem;
  font-weight: 800;
}
.powder-field input,
.powder-field select,
.powder-field textarea {
  width: 100%;
  padding: 12px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  font: inherit;
  font-size: .72rem;
}
.powder-field textarea {
  min-height: 135px;
  resize: vertical;
}
.powder-consent label {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 9px;
  align-items: start;
  color: var(--muted);
  font-size: .61rem;
  font-weight: 500;
  line-height: 1.5;
}
.powder-consent input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
}
.powder-consent a {
  color: var(--green);
  font-weight: 750;
}
.powder-captcha {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 9px;
  align-items: center;
  padding: 12px 13px;
  color: var(--muted);
  border: 1px dashed #aebcad;
  border-radius: 9px;
  font-size: .62rem;
}
.powder-captcha svg {
  width: 19px;
  height: 19px;
  color: var(--green);
}
.powder-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.powder-form-footer small {
  max-width: 310px;
  color: var(--muted);
  font-size: .56rem;
  text-align: right;
}

@media (max-width: 1050px) {
  .powder-intro-grid,
  .powder-material-grid,
  .powder-applications-grid,
  .powder-documents-inner,
  .powder-enquiry-grid {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 680px) {
  .powder-hero { min-height: 400px; }
  .powder-hero-overlay { background: rgba(4,27,16,.76); }
  .powder-hero-content h1 { font-size: 2.45rem; }

  .powder-characteristic-grid,
  .powder-material-list,
  .powder-application-list,
  .powder-process-grid,
  .powder-form {
    grid-template-columns: 1fr;
  }

  .powder-field-full { grid-column: auto; }
  .powder-enquiry-grid { padding: 23px 20px; }

  .powder-form-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .powder-form-footer small {
    max-width: none;
    text-align: left;
  }
}

/* ============================================================
   LIQUID AEROGEL PRODUCT PAGE
   ============================================================ */
.liquid-page { overflow: hidden; }

.liquid-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.liquid-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}
.liquid-hero-image,
.liquid-hero-overlay { position: absolute; inset: 0; }
.liquid-hero-image {
  background: url("images/liquid-aerogel-hero.webp") center / cover no-repeat;
  transform: scale(1.02);
}
.liquid-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.96) 0%, rgba(4,27,16,.82) 44%, rgba(4,27,16,.22) 74%, rgba(4,27,16,.04) 100%);
}
.liquid-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
}
.liquid-hero-content h1 {
  max-width: 900px;
  margin: 0 0 16px;
  font-size: clamp(3rem,5vw,5rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.liquid-hero-content > p:not(.liquid-kicker) {
  max-width: 720px;
  margin: 0;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}
.liquid-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 23px;
}

.liquid-intro { padding: 38px 0 32px; }
.liquid-intro-grid {
  display: grid;
  grid-template-columns: minmax(390px,.92fr) minmax(0,1.08fr);
  gap: 60px;
  align-items: end;
}
.liquid-intro-grid h2,
.liquid-formulation-copy h2,
.liquid-applications-copy h2,
.liquid-enquiry-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.liquid-intro-grid > p,
.liquid-formulation-copy > p:not(.liquid-kicker),
.liquid-applications-copy > p:not(.liquid-kicker),
.liquid-enquiry-copy > p:not(.liquid-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.liquid-heading {
  max-width: 840px;
  margin: 0 auto 24px;
  text-align: center;
}
.liquid-heading h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.9rem,3vw,2.8rem);
}

.liquid-characteristics {
  padding: 35px 0 43px;
  background: #f7f9f5;
}
.liquid-characteristic-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 15px;
}
.liquid-characteristic-grid article {
  padding: 21px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.liquid-characteristic-grid svg {
  width: 34px;
  height: 34px;
  margin-bottom: 13px;
  color: var(--green);
  stroke-width: 1.7;
}
.liquid-characteristic-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .82rem;
}
.liquid-characteristic-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.5;
}

.liquid-formulation,
.liquid-applications { padding: 40px 0; }
.liquid-formulation-grid,
.liquid-applications-grid {
  display: grid;
  grid-template-columns: minmax(430px,.95fr) minmax(0,1.05fr);
  gap: 48px;
  align-items: center;
}
.liquid-formulation-grid > img,
.liquid-applications-grid > img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: var(--shadow);
}
.liquid-formulation-copy > p:not(.liquid-kicker),
.liquid-applications-copy > p:not(.liquid-kicker),
.liquid-enquiry-copy > p:not(.liquid-kicker) {
  margin-top: 13px;
}
.liquid-formulation-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.liquid-formulation-list article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  padding: 14px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.liquid-formulation-list svg {
  width: 34px;
  height: 34px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.liquid-formulation-list h3 {
  margin: 0 0 3px;
  font-size: .73rem;
}
.liquid-formulation-list p {
  margin: 0;
  color: var(--muted);
  font-size: .62rem;
  line-height: 1.45;
}

.liquid-applications { background: #f7f9f5; }
.liquid-applications-grid {
  grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr);
}
.liquid-application-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.liquid-application-list span,
.liquid-enquiry-points span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 11px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: .67rem;
  font-weight: 700;
}
.liquid-application-list svg,
.liquid-enquiry-points svg {
  width: 18px;
  height: 18px;
  color: var(--green);
}

.liquid-process { padding: 40px 0 44px; }
.liquid-process-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.liquid-process-grid article {
  min-height: 160px;
  padding: 21px 18px 18px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.liquid-process-grid span {
  display: inline-grid;
  width: 31px;
  height: 31px;
  margin-bottom: 12px;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  place-items: center;
  font-size: .61rem;
  font-weight: 800;
}
.liquid-process-grid h3 {
  margin: 0 0 6px;
  font-size: .77rem;
}
.liquid-process-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.48;
}

.liquid-documents { padding: 34px 0; }
.liquid-documents-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 30px;
  color: #fff;
  background: linear-gradient(135deg,#0a4929,#062719);
  border-radius: 15px;
}
.liquid-documents-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem,2.3vw,2rem);
}
.liquid-documents-inner > div:first-child > p:last-child {
  margin: 0;
  max-width: 730px;
  color: #dce8df;
  font-size: .76rem;
  line-height: 1.55;
}
.liquid-document-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.liquid-enquiry {
  padding: 40px 0;
  background: #f7f9f5;
}
.liquid-enquiry-grid {
  display: grid;
  grid-template-columns: minmax(350px,.82fr) minmax(0,1.18fr);
  gap: 48px;
  align-items: start;
  padding: 30px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
}
.liquid-enquiry-points {
  display: grid;
  gap: 9px;
  margin-top: 19px;
}
.liquid-enquiry-points span {
  min-height: auto;
  padding: 0;
  background: transparent;
  border: 0;
}
.liquid-form {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.liquid-field {
  display: grid;
  gap: 6px;
}
.liquid-field-full { grid-column: 1/-1; }
.liquid-field label {
  color: var(--dark);
  font-size: .61rem;
  font-weight: 800;
}
.liquid-field input,
.liquid-field select,
.liquid-field textarea {
  width: 100%;
  padding: 12px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  font: inherit;
  font-size: .72rem;
}
.liquid-field textarea {
  min-height: 135px;
  resize: vertical;
}
.liquid-consent label {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 9px;
  align-items: start;
  color: var(--muted);
  font-size: .61rem;
  font-weight: 500;
  line-height: 1.5;
}
.liquid-consent input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
}
.liquid-consent a {
  color: var(--green);
  font-weight: 750;
}
.liquid-captcha {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 9px;
  align-items: center;
  padding: 12px 13px;
  color: var(--muted);
  border: 1px dashed #aebcad;
  border-radius: 9px;
  font-size: .62rem;
}
.liquid-captcha svg {
  width: 19px;
  height: 19px;
  color: var(--green);
}
.liquid-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.liquid-form-footer small {
  max-width: 310px;
  color: var(--muted);
  font-size: .56rem;
  text-align: right;
}

@media (max-width: 1050px) {
  .liquid-intro-grid,
  .liquid-formulation-grid,
  .liquid-applications-grid,
  .liquid-documents-inner,
  .liquid-enquiry-grid {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 680px) {
  .liquid-hero { min-height: 400px; }
  .liquid-hero-overlay { background: rgba(4,27,16,.76); }
  .liquid-hero-content h1 { font-size: 2.45rem; }

  .liquid-characteristic-grid,
  .liquid-formulation-list,
  .liquid-application-list,
  .liquid-process-grid,
  .liquid-form {
    grid-template-columns: 1fr;
  }

  .liquid-field-full { grid-column: auto; }
  .liquid-enquiry-grid { padding: 23px 20px; }

  .liquid-form-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .liquid-form-footer small {
    max-width: none;
    text-align: left;
  }
}

/* ============================================================
   AEROBOARD PRODUCT PAGE
   ============================================================ */
.board-page{overflow:hidden}
.board-kicker{margin:0 0 9px;color:var(--lime);font-family:Manrope,Arial,sans-serif;font-size:.68rem;font-weight:800;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.board-hero{position:relative;min-height:430px;display:grid;align-items:center;overflow:hidden;color:#fff;background:var(--dark)}
.board-hero-image,.board-hero-overlay{position:absolute;inset:0}
.board-hero-image{background:url("images/aeroboard-hero.webp") center/cover no-repeat;transform:scale(1.02)}
.board-hero-overlay{background:linear-gradient(90deg,rgba(4,27,16,.96) 0%,rgba(4,27,16,.82) 44%,rgba(4,27,16,.22) 74%,rgba(4,27,16,.04) 100%)}
.board-hero-content{position:relative;z-index:2;padding:54px 0}
.board-hero-content h1{max-width:900px;margin:0 0 16px;font-size:clamp(3rem,5vw,5rem);line-height:.98;letter-spacing:-.045em}
.board-hero-content>p:not(.board-kicker){max-width:720px;margin:0;color:#e5eee8;font-size:1rem;line-height:1.65}
.board-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}

.board-intro{padding:38px 0 32px}
.board-intro-grid{display:grid;grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr);gap:60px;align-items:end}
.board-intro-grid h2,.board-system-copy h2,.board-applications-copy h2,.board-enquiry-copy h2{margin:0;color:var(--dark);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12;letter-spacing:-.035em}
.board-intro-grid>p,.board-system-copy>p:not(.board-kicker),.board-applications-copy>p:not(.board-kicker),.board-enquiry-copy>p:not(.board-kicker){margin:0;color:var(--muted);font-size:.82rem;line-height:1.72}
.board-heading{max-width:840px;margin:0 auto 24px;text-align:center}
.board-heading h2{margin:0;color:var(--dark);font-size:clamp(1.9rem,3vw,2.8rem)}

.board-benefits{padding:35px 0 43px;background:#f7f9f5}
.board-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.board-benefit-grid article{padding:21px;background:#fff;border:1px solid var(--line);border-radius:13px}
.board-benefit-grid svg{width:34px;height:34px;margin-bottom:13px;color:var(--green);stroke-width:1.7}
.board-benefit-grid h3{margin:0 0 7px;color:var(--dark);font-size:.82rem}
.board-benefit-grid p{margin:0;color:var(--muted);font-size:.67rem;line-height:1.5}

.board-system,.board-applications{padding:40px 0}
.board-system-grid,.board-applications-grid{display:grid;grid-template-columns:minmax(430px,.95fr) minmax(0,1.05fr);gap:48px;align-items:center}
.board-system-grid>img,.board-applications-grid>img{width:100%;height:350px;object-fit:cover;border-radius:15px;box-shadow:var(--shadow)}
.board-system-copy>p:not(.board-kicker),.board-applications-copy>p:not(.board-kicker),.board-enquiry-copy>p:not(.board-kicker){margin-top:13px}
.board-system-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.board-system-list article{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:14px;background:#f8faf7;border:1px solid var(--line);border-radius:10px}
.board-system-list svg{width:34px;height:34px;padding:8px;color:var(--green);border:1px solid #b8d39b;border-radius:50%}
.board-system-list h3{margin:0 0 3px;font-size:.73rem}
.board-system-list p{margin:0;color:var(--muted);font-size:.62rem;line-height:1.45}

.board-applications{background:#f7f9f5}
.board-applications-grid{grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr)}
.board-application-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.board-application-list span,.board-enquiry-points span{display:flex;align-items:center;gap:8px;min-height:48px;padding:11px 13px;color:var(--dark);background:#fff;border:1px solid var(--line);border-radius:10px;font-size:.67rem;font-weight:700}
.board-application-list svg,.board-enquiry-points svg{width:18px;height:18px;color:var(--green)}

.board-specification{padding:40px 0 44px}
.board-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.board-process-grid article{min-height:160px;padding:21px 18px 18px;background:#f8faf7;border:1px solid var(--line);border-radius:12px}
.board-process-grid span{display:inline-grid;width:31px;height:31px;margin-bottom:12px;color:#fff;background:var(--green);border-radius:50%;place-items:center;font-size:.61rem;font-weight:800}
.board-process-grid h3{margin:0 0 6px;font-size:.77rem}
.board-process-grid p{margin:0;color:var(--muted);font-size:.64rem;line-height:1.48}

.board-documents{padding:34px 0}
.board-documents-inner{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:28px 30px;color:#fff;background:linear-gradient(135deg,#0a4929,#062719);border-radius:15px}
.board-documents-inner h2{margin:0 0 7px;font-size:clamp(1.45rem,2.3vw,2rem)}
.board-documents-inner>div:first-child>p:last-child{margin:0;max-width:730px;color:#dce8df;font-size:.76rem;line-height:1.55}
.board-document-actions{display:flex;flex-wrap:wrap;gap:10px}

.board-enquiry{padding:40px 0;background:#f7f9f5}
.board-enquiry-grid{display:grid;grid-template-columns:minmax(350px,.82fr) minmax(0,1.18fr);gap:48px;align-items:start;padding:30px;background:#fff;border:1px solid var(--line);border-radius:16px}
.board-enquiry-points{display:grid;gap:9px;margin-top:19px}
.board-enquiry-points span{min-height:auto;padding:0;background:transparent;border:0}
.board-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.board-field{display:grid;gap:6px}
.board-field-full{grid-column:1/-1}
.board-field label{color:var(--dark);font-size:.61rem;font-weight:800}
.board-field input,.board-field select,.board-field textarea{width:100%;padding:12px 13px;color:var(--dark);background:#fff;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:.72rem}
.board-field textarea{min-height:135px;resize:vertical}
.board-consent label{display:grid;grid-template-columns:18px 1fr;gap:9px;align-items:start;color:var(--muted);font-size:.61rem;font-weight:500;line-height:1.5}
.board-consent input{width:16px;height:16px;margin-top:2px}
.board-consent a{color:var(--green);font-weight:750}
.board-captcha{display:grid;grid-template-columns:24px 1fr;gap:9px;align-items:center;padding:12px 13px;color:var(--muted);border:1px dashed #aebcad;border-radius:9px;font-size:.62rem}
.board-captcha svg{width:19px;height:19px;color:var(--green)}
.board-form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}
.board-form-footer small{max-width:310px;color:var(--muted);font-size:.56rem;text-align:right}

@media(max-width:1050px){
  .board-intro-grid,.board-system-grid,.board-applications-grid,.board-documents-inner,.board-enquiry-grid{grid-template-columns:1fr}
  .board-benefit-grid,.board-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .board-hero{min-height:400px}
  .board-hero-overlay{background:rgba(4,27,16,.76)}
  .board-hero-content h1{font-size:2.45rem}
  .board-benefit-grid,.board-system-list,.board-application-list,.board-process-grid,.board-form{grid-template-columns:1fr}
  .board-field-full{grid-column:auto}
  .board-enquiry-grid{padding:23px 20px}
  .board-form-footer{align-items:flex-start;flex-direction:column}
  .board-form-footer small{max-width:none;text-align:left}
}

/* ============================================================
   AEROPLASTER PRODUCT PAGE
   ============================================================ */
.plaster-page{overflow:hidden}
.plaster-kicker{margin:0 0 9px;color:var(--lime);font-family:Manrope,Arial,sans-serif;font-size:.68rem;font-weight:800;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.plaster-hero{position:relative;min-height:430px;display:grid;align-items:center;overflow:hidden;color:#fff;background:var(--dark)}
.plaster-hero-image,.plaster-hero-overlay{position:absolute;inset:0}
.plaster-hero-image{background:url("images/aeroplaster-hero.webp") center/cover no-repeat;transform:scale(1.02)}
.plaster-hero-overlay{background:linear-gradient(90deg,rgba(4,27,16,.96) 0%,rgba(4,27,16,.82) 44%,rgba(4,27,16,.22) 74%,rgba(4,27,16,.04) 100%)}
.plaster-hero-content{position:relative;z-index:2;padding:54px 0}
.plaster-hero-content h1{max-width:900px;margin:0 0 16px;font-size:clamp(3rem,5vw,5rem);line-height:.98;letter-spacing:-.045em}
.plaster-hero-content>p:not(.plaster-kicker){max-width:720px;margin:0;color:#e5eee8;font-size:1rem;line-height:1.65}
.plaster-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}

.plaster-intro{padding:38px 0 32px}
.plaster-intro-grid{display:grid;grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr);gap:60px;align-items:end}
.plaster-intro-grid h2,.plaster-system-copy h2,.plaster-applications-copy h2,.plaster-enquiry-copy h2{margin:0;color:var(--dark);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12;letter-spacing:-.035em}
.plaster-intro-grid>p,.plaster-system-copy>p:not(.plaster-kicker),.plaster-applications-copy>p:not(.plaster-kicker),.plaster-enquiry-copy>p:not(.plaster-kicker){margin:0;color:var(--muted);font-size:.82rem;line-height:1.72}
.plaster-heading{max-width:840px;margin:0 auto 24px;text-align:center}
.plaster-heading h2{margin:0;color:var(--dark);font-size:clamp(1.9rem,3vw,2.8rem)}

.plaster-benefits{padding:35px 0 43px;background:#f7f9f5}
.plaster-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.plaster-benefit-grid article{padding:21px;background:#fff;border:1px solid var(--line);border-radius:13px}
.plaster-benefit-grid svg{width:34px;height:34px;margin-bottom:13px;color:var(--green);stroke-width:1.7}
.plaster-benefit-grid h3{margin:0 0 7px;color:var(--dark);font-size:.82rem}
.plaster-benefit-grid p{margin:0;color:var(--muted);font-size:.67rem;line-height:1.5}

.plaster-system,.plaster-applications{padding:40px 0}
.plaster-system-grid,.plaster-applications-grid{display:grid;grid-template-columns:minmax(430px,.95fr) minmax(0,1.05fr);gap:48px;align-items:center}
.plaster-system-grid>img,.plaster-applications-grid>img{width:100%;height:350px;object-fit:cover;border-radius:15px;box-shadow:var(--shadow)}
.plaster-system-copy>p:not(.plaster-kicker),.plaster-applications-copy>p:not(.plaster-kicker),.plaster-enquiry-copy>p:not(.plaster-kicker){margin-top:13px}
.plaster-system-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.plaster-system-list article{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:14px;background:#f8faf7;border:1px solid var(--line);border-radius:10px}
.plaster-system-list svg{width:34px;height:34px;padding:8px;color:var(--green);border:1px solid #b8d39b;border-radius:50%}
.plaster-system-list h3{margin:0 0 3px;font-size:.73rem}
.plaster-system-list p{margin:0;color:var(--muted);font-size:.62rem;line-height:1.45}

.plaster-applications{background:#f7f9f5}
.plaster-applications-grid{grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr)}
.plaster-application-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.plaster-application-list span,.plaster-enquiry-points span{display:flex;align-items:center;gap:8px;min-height:48px;padding:11px 13px;color:var(--dark);background:#fff;border:1px solid var(--line);border-radius:10px;font-size:.67rem;font-weight:700}
.plaster-application-list svg,.plaster-enquiry-points svg{width:18px;height:18px;color:var(--green)}

.plaster-specification{padding:40px 0 44px}
.plaster-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.plaster-process-grid article{min-height:160px;padding:21px 18px 18px;background:#f8faf7;border:1px solid var(--line);border-radius:12px}
.plaster-process-grid span{display:inline-grid;width:31px;height:31px;margin-bottom:12px;color:#fff;background:var(--green);border-radius:50%;place-items:center;font-size:.61rem;font-weight:800}
.plaster-process-grid h3{margin:0 0 6px;font-size:.77rem}
.plaster-process-grid p{margin:0;color:var(--muted);font-size:.64rem;line-height:1.48}

.plaster-documents{padding:34px 0}
.plaster-documents-inner{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:28px 30px;color:#fff;background:linear-gradient(135deg,#0a4929,#062719);border-radius:15px}
.plaster-documents-inner h2{margin:0 0 7px;font-size:clamp(1.45rem,2.3vw,2rem)}
.plaster-documents-inner>div:first-child>p:last-child{margin:0;max-width:730px;color:#dce8df;font-size:.76rem;line-height:1.55}
.plaster-document-actions{display:flex;flex-wrap:wrap;gap:10px}

.plaster-enquiry{padding:40px 0;background:#f7f9f5}
.plaster-enquiry-grid{display:grid;grid-template-columns:minmax(350px,.82fr) minmax(0,1.18fr);gap:48px;align-items:start;padding:30px;background:#fff;border:1px solid var(--line);border-radius:16px}
.plaster-enquiry-points{display:grid;gap:9px;margin-top:19px}
.plaster-enquiry-points span{min-height:auto;padding:0;background:transparent;border:0}
.plaster-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.plaster-field{display:grid;gap:6px}
.plaster-field-full{grid-column:1/-1}
.plaster-field label{color:var(--dark);font-size:.61rem;font-weight:800}
.plaster-field input,.plaster-field select,.plaster-field textarea{width:100%;padding:12px 13px;color:var(--dark);background:#fff;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:.72rem}
.plaster-field textarea{min-height:135px;resize:vertical}
.plaster-consent label{display:grid;grid-template-columns:18px 1fr;gap:9px;align-items:start;color:var(--muted);font-size:.61rem;font-weight:500;line-height:1.5}
.plaster-consent input{width:16px;height:16px;margin-top:2px}
.plaster-consent a{color:var(--green);font-weight:750}
.plaster-captcha{display:grid;grid-template-columns:24px 1fr;gap:9px;align-items:center;padding:12px 13px;color:var(--muted);border:1px dashed #aebcad;border-radius:9px;font-size:.62rem}
.plaster-captcha svg{width:19px;height:19px;color:var(--green)}
.plaster-form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}
.plaster-form-footer small{max-width:310px;color:var(--muted);font-size:.56rem;text-align:right}

@media(max-width:1050px){
  .plaster-intro-grid,.plaster-system-grid,.plaster-applications-grid,.plaster-documents-inner,.plaster-enquiry-grid{grid-template-columns:1fr}
  .plaster-benefit-grid,.plaster-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .plaster-hero{min-height:400px}
  .plaster-hero-overlay{background:rgba(4,27,16,.76)}
  .plaster-hero-content h1{font-size:2.45rem}
  .plaster-benefit-grid,.plaster-system-list,.plaster-application-list,.plaster-process-grid,.plaster-form{grid-template-columns:1fr}
  .plaster-field-full{grid-column:auto}
  .plaster-enquiry-grid{padding:23px 20px}
  .plaster-form-footer{align-items:flex-start;flex-direction:column}
  .plaster-form-footer small{max-width:none;text-align:left}
}

/* ============================================================
   AEROGEL SPRAY PRODUCT PAGE
   ============================================================ */
.spray-page { overflow: hidden; }

.spray-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.spray-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}
.spray-hero-image,
.spray-hero-overlay { position: absolute; inset: 0; }
.spray-hero-image {
  background: url("images/aerogel-spray-hero.webp") center / cover no-repeat;
  transform: scale(1.02);
}
.spray-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.96) 0%, rgba(4,27,16,.82) 44%, rgba(4,27,16,.22) 74%, rgba(4,27,16,.04) 100%);
}
.spray-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
}
.spray-hero-content h1 {
  max-width: 900px;
  margin: 0 0 16px;
  font-size: clamp(3rem,5vw,5rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.spray-hero-content > p:not(.spray-kicker) {
  max-width: 720px;
  margin: 0;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}
.spray-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 23px;
}

.spray-intro { padding: 38px 0 32px; }
.spray-intro-grid {
  display: grid;
  grid-template-columns: minmax(390px,.92fr) minmax(0,1.08fr);
  gap: 60px;
  align-items: end;
}
.spray-intro-grid h2,
.spray-formulation-copy h2,
.spray-applications-copy h2,
.spray-enquiry-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.spray-intro-grid > p,
.spray-formulation-copy > p:not(.spray-kicker),
.spray-applications-copy > p:not(.spray-kicker),
.spray-enquiry-copy > p:not(.spray-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.spray-heading {
  max-width: 840px;
  margin: 0 auto 24px;
  text-align: center;
}
.spray-heading h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.9rem,3vw,2.8rem);
}

.spray-characteristics {
  padding: 35px 0 43px;
  background: #f7f9f5;
}
.spray-characteristic-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 15px;
}
.spray-characteristic-grid article {
  padding: 21px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.spray-characteristic-grid svg {
  width: 34px;
  height: 34px;
  margin-bottom: 13px;
  color: var(--green);
  stroke-width: 1.7;
}
.spray-characteristic-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .82rem;
}
.spray-characteristic-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.5;
}

.spray-formulation,
.spray-applications { padding: 40px 0; }
.spray-formulation-grid,
.spray-applications-grid {
  display: grid;
  grid-template-columns: minmax(430px,.95fr) minmax(0,1.05fr);
  gap: 48px;
  align-items: center;
}
.spray-formulation-grid > img,
.spray-applications-grid > img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: var(--shadow);
}
.spray-formulation-copy > p:not(.spray-kicker),
.spray-applications-copy > p:not(.spray-kicker),
.spray-enquiry-copy > p:not(.spray-kicker) {
  margin-top: 13px;
}
.spray-formulation-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.spray-formulation-list article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  padding: 14px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.spray-formulation-list svg {
  width: 34px;
  height: 34px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.spray-formulation-list h3 {
  margin: 0 0 3px;
  font-size: .73rem;
}
.spray-formulation-list p {
  margin: 0;
  color: var(--muted);
  font-size: .62rem;
  line-height: 1.45;
}

.spray-applications { background: #f7f9f5; }
.spray-applications-grid {
  grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr);
}
.spray-application-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.spray-application-list span,
.spray-enquiry-points span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 11px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: .67rem;
  font-weight: 700;
}
.spray-application-list svg,
.spray-enquiry-points svg {
  width: 18px;
  height: 18px;
  color: var(--green);
}

.spray-process { padding: 40px 0 44px; }
.spray-process-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.spray-process-grid article {
  min-height: 160px;
  padding: 21px 18px 18px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.spray-process-grid span {
  display: inline-grid;
  width: 31px;
  height: 31px;
  margin-bottom: 12px;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  place-items: center;
  font-size: .61rem;
  font-weight: 800;
}
.spray-process-grid h3 {
  margin: 0 0 6px;
  font-size: .77rem;
}
.spray-process-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.48;
}

.spray-documents { padding: 34px 0; }
.spray-documents-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 30px;
  color: #fff;
  background: linear-gradient(135deg,#0a4929,#062719);
  border-radius: 15px;
}
.spray-documents-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem,2.3vw,2rem);
}
.spray-documents-inner > div:first-child > p:last-child {
  margin: 0;
  max-width: 730px;
  color: #dce8df;
  font-size: .76rem;
  line-height: 1.55;
}
.spray-document-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.spray-enquiry {
  padding: 40px 0;
  background: #f7f9f5;
}
.spray-enquiry-grid {
  display: grid;
  grid-template-columns: minmax(350px,.82fr) minmax(0,1.18fr);
  gap: 48px;
  align-items: start;
  padding: 30px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
}
.spray-enquiry-points {
  display: grid;
  gap: 9px;
  margin-top: 19px;
}
.spray-enquiry-points span {
  min-height: auto;
  padding: 0;
  background: transparent;
  border: 0;
}
.spray-form {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.spray-field {
  display: grid;
  gap: 6px;
}
.spray-field-full { grid-column: 1/-1; }
.spray-field label {
  color: var(--dark);
  font-size: .61rem;
  font-weight: 800;
}
.spray-field input,
.spray-field select,
.spray-field textarea {
  width: 100%;
  padding: 12px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  font: inherit;
  font-size: .72rem;
}
.spray-field textarea {
  min-height: 135px;
  resize: vertical;
}
.spray-consent label {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 9px;
  align-items: start;
  color: var(--muted);
  font-size: .61rem;
  font-weight: 500;
  line-height: 1.5;
}
.spray-consent input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
}
.spray-consent a {
  color: var(--green);
  font-weight: 750;
}
.spray-captcha {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 9px;
  align-items: center;
  padding: 12px 13px;
  color: var(--muted);
  border: 1px dashed #aebcad;
  border-radius: 9px;
  font-size: .62rem;
}
.spray-captcha svg {
  width: 19px;
  height: 19px;
  color: var(--green);
}
.spray-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.spray-form-footer small {
  max-width: 310px;
  color: var(--muted);
  font-size: .56rem;
  text-align: right;
}

@media (max-width: 1050px) {
  .spray-intro-grid,
  .spray-formulation-grid,
  .spray-applications-grid,
  .spray-documents-inner,
  .spray-enquiry-grid {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 680px) {
  .spray-hero { min-height: 400px; }
  .spray-hero-overlay { background: rgba(4,27,16,.76); }
  .spray-hero-content h1 { font-size: 2.45rem; }

  .spray-characteristic-grid,
  .spray-formulation-list,
  .spray-application-list,
  .spray-process-grid,
  .spray-form {
    grid-template-columns: 1fr;
  }

  .spray-field-full { grid-column: auto; }
  .spray-enquiry-grid { padding: 23px 20px; }

  .spray-form-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .spray-form-footer small {
    max-width: none;
    text-align: left;
  }
}


/* ============================================================
   WINDOW & WALL SOLUTIONS PAGE
   ============================================================ */
.windowwall-page { overflow: hidden; }

.windowwall-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.windowwall-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}
.windowwall-hero-image,
.windowwall-hero-overlay { position: absolute; inset: 0; }
.windowwall-hero-image {
  background: url("images/window-wall-hero.webp") center / cover no-repeat;
  transform: scale(1.02);
}
.windowwall-hero-overlay {
  background: linear-gradient(90deg, rgba(4,27,16,.96) 0%, rgba(4,27,16,.82) 44%, rgba(4,27,16,.22) 74%, rgba(4,27,16,.04) 100%);
}
.windowwall-hero-content {
  position: relative;
  z-index: 2;
  padding: 54px 0;
}
.windowwall-hero-content h1 {
  max-width: 930px;
  margin: 0 0 16px;
  font-size: clamp(3rem,5vw,5rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.windowwall-hero-content > p:not(.windowwall-kicker) {
  max-width: 740px;
  margin: 0;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}
.windowwall-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 23px;
}

.windowwall-intro { padding: 38px 0 32px; }
.windowwall-intro-grid {
  display: grid;
  grid-template-columns: minmax(390px,.92fr) minmax(0,1.08fr);
  gap: 60px;
  align-items: end;
}
.windowwall-intro-grid h2,
.windowwall-detail-copy h2,
.windowwall-systems-copy h2,
.windowwall-enquiry-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.windowwall-intro-grid > p,
.windowwall-detail-copy > p:not(.windowwall-kicker),
.windowwall-systems-copy > p:not(.windowwall-kicker),
.windowwall-enquiry-copy > p:not(.windowwall-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}

.windowwall-heading {
  max-width: 850px;
  margin: 0 auto 24px;
  text-align: center;
}
.windowwall-heading h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.9rem,3vw,2.8rem);
}

.windowwall-challenges {
  padding: 35px 0 43px;
  background: #f7f9f5;
}
.windowwall-challenge-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 15px;
}
.windowwall-challenge-grid article {
  padding: 21px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.windowwall-challenge-grid svg {
  width: 34px;
  height: 34px;
  margin-bottom: 13px;
  color: var(--green);
  stroke-width: 1.7;
}
.windowwall-challenge-grid h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: .82rem;
}
.windowwall-challenge-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.5;
}

.windowwall-detail,
.windowwall-systems { padding: 40px 0; }
.windowwall-detail-grid,
.windowwall-systems-grid {
  display: grid;
  grid-template-columns: minmax(430px,.95fr) minmax(0,1.05fr);
  gap: 48px;
  align-items: center;
}
.windowwall-detail-grid > img,
.windowwall-systems-grid > img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: var(--shadow);
}
.windowwall-detail-copy > p:not(.windowwall-kicker),
.windowwall-systems-copy > p:not(.windowwall-kicker),
.windowwall-enquiry-copy > p:not(.windowwall-kicker) {
  margin-top: 13px;
}
.windowwall-detail-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.windowwall-detail-list article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  padding: 14px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.windowwall-detail-list svg {
  width: 34px;
  height: 34px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.windowwall-detail-list h3 {
  margin: 0 0 3px;
  font-size: .73rem;
}
.windowwall-detail-list p {
  margin: 0;
  color: var(--muted);
  font-size: .62rem;
  line-height: 1.45;
}

.windowwall-systems { background: #f7f9f5; }
.windowwall-systems-grid {
  grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr);
}
.windowwall-system-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.windowwall-system-list span,
.windowwall-enquiry-points span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 11px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: .67rem;
  font-weight: 700;
}
.windowwall-system-list svg,
.windowwall-enquiry-points svg {
  width: 18px;
  height: 18px;
  color: var(--green);
}

.windowwall-process { padding: 40px 0 44px; }
.windowwall-process-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.windowwall-process-grid article {
  min-height: 160px;
  padding: 21px 18px 18px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.windowwall-process-grid span {
  display: inline-grid;
  width: 31px;
  height: 31px;
  margin-bottom: 12px;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  place-items: center;
  font-size: .61rem;
  font-weight: 800;
}
.windowwall-process-grid h3 {
  margin: 0 0 6px;
  font-size: .77rem;
}
.windowwall-process-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.48;
}

.windowwall-documents { padding: 34px 0; }
.windowwall-documents-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 30px;
  color: #fff;
  background: linear-gradient(135deg,#0a4929,#062719);
  border-radius: 15px;
}
.windowwall-documents-inner h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem,2.3vw,2rem);
}
.windowwall-documents-inner > div:first-child > p:last-child {
  margin: 0;
  max-width: 730px;
  color: #dce8df;
  font-size: .76rem;
  line-height: 1.55;
}
.windowwall-document-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.windowwall-enquiry {
  padding: 40px 0;
  background: #f7f9f5;
}
.windowwall-enquiry-grid {
  display: grid;
  grid-template-columns: minmax(350px,.82fr) minmax(0,1.18fr);
  gap: 48px;
  align-items: start;
  padding: 30px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
}
.windowwall-enquiry-points {
  display: grid;
  gap: 9px;
  margin-top: 19px;
}
.windowwall-enquiry-points span {
  min-height: auto;
  padding: 0;
  background: transparent;
  border: 0;
}
.windowwall-form {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.windowwall-field {
  display: grid;
  gap: 6px;
}
.windowwall-field-full { grid-column: 1/-1; }
.windowwall-field label {
  color: var(--dark);
  font-size: .61rem;
  font-weight: 800;
}
.windowwall-field input,
.windowwall-field select,
.windowwall-field textarea {
  width: 100%;
  padding: 12px 13px;
  color: var(--dark);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  font: inherit;
  font-size: .72rem;
}
.windowwall-field textarea {
  min-height: 135px;
  resize: vertical;
}
.windowwall-consent label {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 9px;
  align-items: start;
  color: var(--muted);
  font-size: .61rem;
  font-weight: 500;
  line-height: 1.5;
}
.windowwall-consent input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
}
.windowwall-consent a {
  color: var(--green);
  font-weight: 750;
}
.windowwall-captcha {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 9px;
  align-items: center;
  padding: 12px 13px;
  color: var(--muted);
  border: 1px dashed #aebcad;
  border-radius: 9px;
  font-size: .62rem;
}
.windowwall-captcha svg {
  width: 19px;
  height: 19px;
  color: var(--green);
}
.windowwall-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.windowwall-form-footer small {
  max-width: 310px;
  color: var(--muted);
  font-size: .56rem;
  text-align: right;
}

@media (max-width: 1050px) {
  .windowwall-intro-grid,
  .windowwall-detail-grid,
  .windowwall-systems-grid,
  .windowwall-documents-inner,
  .windowwall-enquiry-grid {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 680px) {
  .windowwall-hero { min-height: 400px; }
  .windowwall-hero-overlay { background: rgba(4,27,16,.76); }
  .windowwall-hero-content h1 { font-size: 2.45rem; }

  .windowwall-challenge-grid,
  .windowwall-detail-list,
  .windowwall-system-list,
  .windowwall-process-grid,
  .windowwall-form {
    grid-template-columns: 1fr;
  }

  .windowwall-field-full { grid-column: auto; }
  .windowwall-enquiry-grid { padding: 23px 20px; }

  .windowwall-form-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .windowwall-form-footer small {
    max-width: none;
    text-align: left;
  }
}


/* ============================================================
   WINDOW & WALL — MERGED CAVITY SECTION
   ============================================================ */
.windowwall-cavity {
  padding: 40px 0;
  background: #fff;
}
.windowwall-cavity-grid {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr);
  gap: 48px;
  align-items: center;
}
.windowwall-cavity-grid > img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  border-radius: 15px;
  box-shadow: var(--shadow);
}
.windowwall-cavity-copy h2 {
  margin: 0;
  color: var(--dark);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.windowwall-cavity-copy > p:not(.windowwall-kicker) {
  margin: 13px 0 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}
.windowwall-cavity-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.windowwall-cavity-list article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  padding: 14px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.windowwall-cavity-list svg {
  width: 34px;
  height: 34px;
  padding: 8px;
  color: var(--green);
  border: 1px solid #b8d39b;
  border-radius: 50%;
}
.windowwall-cavity-list h3 {
  margin: 0 0 3px;
  font-size: .73rem;
}
.windowwall-cavity-list p {
  margin: 0;
  color: var(--muted);
  font-size: .62rem;
  line-height: 1.45;
}

@media (max-width: 1050px) {
  .windowwall-cavity-grid {
    grid-template-columns: 1fr;
  }
  .windowwall-challenge-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 680px) {
  .windowwall-cavity-list,
  .windowwall-challenge-grid {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   QUALITY, CERTIFICATIONS & ACCREDITATIONS PAGE
   ============================================================ */
.quality-page { overflow: hidden; }
.quality-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.quality-hero {
  position: relative;
  min-height: 430px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--dark);
}
.quality-hero-image,
.quality-hero-overlay { position: absolute; inset: 0; }
.quality-hero-image {
  background: url("images/quality-hero.webp") center / cover no-repeat;
  transform: scale(1.02);
}
.quality-hero-overlay {
  background: linear-gradient(90deg,rgba(4,27,16,.96) 0%,rgba(4,27,16,.84) 46%,rgba(4,27,16,.25) 75%,rgba(4,27,16,.05) 100%);
}
.quality-hero-content { position: relative; z-index: 2; padding: 54px 0; }
.quality-hero-content h1 {
  max-width: 930px;
  margin: 0 0 16px;
  font-size: clamp(3rem,5vw,5rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.quality-hero-content > p:not(.quality-kicker) {
  max-width: 720px;
  margin: 0;
  color: #e5eee8;
  font-size: 1rem;
  line-height: 1.65;
}
.quality-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:23px; }

.quality-intro { padding:38px 0 32px; }
.quality-intro-grid {
  display:grid;
  grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr);
  gap:60px;
  align-items:end;
}
.quality-intro-grid h2,
.quality-testing-copy h2,
.quality-certificates-copy h2,
.quality-request-copy h2 {
  margin:0;
  color:var(--dark);
  font-size:clamp(1.8rem,3vw,2.7rem);
  line-height:1.12;
  letter-spacing:-.035em;
}
.quality-intro-grid > p,
.quality-testing-copy > p:not(.quality-kicker),
.quality-certificates-copy > p:not(.quality-kicker),
.quality-request-copy > p:not(.quality-kicker) {
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.72;
}
.quality-heading { max-width:850px; margin:0 auto 24px; text-align:center; }
.quality-heading h2 { margin:0; color:var(--dark); font-size:clamp(1.9rem,3vw,2.8rem); }
.quality-heading > p:last-child { margin:10px auto 0; max-width:720px; color:var(--muted); font-size:.76rem; line-height:1.6; }

.quality-principles,
.quality-status { padding:35px 0 43px; background:#f7f9f5; }
.quality-principle-grid,
.quality-status-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
}
.quality-principle-grid article,
.quality-status-grid article {
  position:relative;
  padding:21px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:13px;
}
.quality-principle-grid svg,
.quality-status-grid svg {
  width:34px;
  height:34px;
  margin-bottom:13px;
  color:var(--green);
  stroke-width:1.7;
}
.quality-principle-grid h3,
.quality-status-grid h3 { margin:0 0 7px; color:var(--dark); font-size:.82rem; }
.quality-principle-grid p,
.quality-status-grid p { margin:0; color:var(--muted); font-size:.67rem; line-height:1.5; }
.quality-status-label {
  display:inline-block;
  margin-bottom:12px;
  padding:5px 8px;
  color:var(--green);
  background:#eef7e8;
  border:1px solid #cfe2c2;
  border-radius:999px;
  font-size:.55rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.quality-testing,
.quality-certificates { padding:40px 0; }
.quality-testing-grid,
.quality-certificates-grid {
  display:grid;
  grid-template-columns:minmax(430px,.95fr) minmax(0,1.05fr);
  gap:48px;
  align-items:center;
}
.quality-certificates-grid { grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr); }
.quality-testing-grid > img,
.quality-certificates-grid > img {
  width:100%;
  height:350px;
  object-fit:cover;
  border-radius:15px;
  box-shadow:var(--shadow);
}
.quality-testing-copy > p:not(.quality-kicker),
.quality-certificates-copy > p:not(.quality-kicker),
.quality-request-copy > p:not(.quality-kicker) { margin-top:13px; }

.quality-testing-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}
.quality-testing-list article {
  display:grid;
  grid-template-columns:38px 1fr;
  gap:12px;
  padding:14px;
  background:#f8faf7;
  border:1px solid var(--line);
  border-radius:10px;
}
.quality-testing-list svg {
  width:34px;
  height:34px;
  padding:8px;
  color:var(--green);
  border:1px solid #b8d39b;
  border-radius:50%;
}
.quality-testing-list h3 { margin:0 0 3px; font-size:.73rem; }
.quality-testing-list p { margin:0; color:var(--muted); font-size:.62rem; line-height:1.45; }

.quality-certificates { background:#fff; }
.quality-check-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}
.quality-check-list span,
.quality-request-points span {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:11px 13px;
  color:var(--dark);
  background:#f8faf7;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:.67rem;
  font-weight:700;
}
.quality-check-list svg,
.quality-request-points svg { width:18px; height:18px; color:var(--green); }

.quality-process { padding:40px 0 44px; background:#f7f9f5; }
.quality-process-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.quality-process-grid article {
  min-height:160px;
  padding:21px 18px 18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
}
.quality-process-grid span {
  display:inline-grid;
  width:31px;
  height:31px;
  margin-bottom:12px;
  color:#fff;
  background:var(--green);
  border-radius:50%;
  place-items:center;
  font-size:.61rem;
  font-weight:800;
}
.quality-process-grid h3 { margin:0 0 6px; font-size:.77rem; }
.quality-process-grid p { margin:0; color:var(--muted); font-size:.64rem; line-height:1.48; }

.quality-notice { padding:34px 0; }
.quality-notice-inner {
  display:grid;
  grid-template-columns:42px 1fr;
  gap:16px;
  align-items:center;
  padding:25px 28px;
  color:#fff;
  background:linear-gradient(135deg,#0a4929,#062719);
  border-radius:15px;
}
.quality-notice-inner > svg { width:34px; height:34px; color:var(--lime); }
.quality-notice-inner h2 { margin:0 0 5px; font-size:1.15rem; }
.quality-notice-inner p { margin:0; color:#dce8df; font-size:.73rem; line-height:1.55; }

.quality-request { padding:40px 0; background:#f7f9f5; }
.quality-request-grid {
  display:grid;
  grid-template-columns:minmax(350px,.82fr) minmax(0,1.18fr);
  gap:48px;
  align-items:start;
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
}
.quality-request-points { display:grid; gap:9px; margin-top:19px; }
.quality-request-points span { min-height:auto; padding:0; background:transparent; border:0; }

.quality-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.quality-field { display:grid; gap:6px; }
.quality-field-full { grid-column:1/-1; }
.quality-field label { color:var(--dark); font-size:.61rem; font-weight:800; }
.quality-field input,
.quality-field select,
.quality-field textarea {
  width:100%;
  padding:12px 13px;
  color:var(--dark);
  background:#fff;
  border:1px solid var(--line);
  border-radius:9px;
  font:inherit;
  font-size:.72rem;
}
.quality-field textarea { min-height:135px; resize:vertical; }
.quality-consent label {
  display:grid;
  grid-template-columns:18px 1fr;
  gap:9px;
  align-items:start;
  color:var(--muted);
  font-size:.61rem;
  font-weight:500;
  line-height:1.5;
}
.quality-consent input { width:16px; height:16px; margin-top:2px; }
.quality-consent a { color:var(--green); font-weight:750; }
.quality-captcha {
  display:grid;
  grid-template-columns:24px 1fr;
  gap:9px;
  align-items:center;
  padding:12px 13px;
  color:var(--muted);
  border:1px dashed #aebcad;
  border-radius:9px;
  font-size:.62rem;
}
.quality-captcha svg { width:19px; height:19px; color:var(--green); }
.quality-form-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.quality-form-footer small {
  max-width:310px;
  color:var(--muted);
  font-size:.56rem;
  text-align:right;
}

@media(max-width:1050px) {
  .quality-intro-grid,
  .quality-testing-grid,
  .quality-certificates-grid,
  .quality-request-grid { grid-template-columns:1fr; }

  .quality-principle-grid,
  .quality-status-grid,
  .quality-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:680px) {
  .quality-hero { min-height:400px; }
  .quality-hero-overlay { background:rgba(4,27,16,.76); }
  .quality-hero-content h1 { font-size:2.45rem; }

  .quality-principle-grid,
  .quality-status-grid,
  .quality-testing-list,
  .quality-check-list,
  .quality-process-grid,
  .quality-form { grid-template-columns:1fr; }

  .quality-field-full { grid-column:auto; }
  .quality-request-grid { padding:23px 20px; }
  .quality-form-footer { align-items:flex-start; flex-direction:column; }
  .quality-form-footer small { max-width:none; text-align:left; }
}


/* Homepage quality and certifications link */
.certifications-heading .btn {
  margin-top: 16px;
}
a.certification-card {
  color: inherit;
  text-decoration: none;
}

/* ============================================================
   HOMEPAGE CREDENTIALS & PARTNERSHIPS
   ============================================================ */
.homepage-credentials-partnerships {
  padding: 48px 0 52px;
  background: linear-gradient(180deg, #fff 0%, #f5f8f3 100%);
}

.credentials-partnerships-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: 34px;
  align-items: stretch;
}

.credentials-column,
.homepage-partnerships {
  min-width: 0;
}

.credentials-column {
  display: flex;
  flex-direction: column;
}

.credentials-partnerships-kicker {
  margin: 0 0 8px !important;
  color: var(--green) !important;
  font-family: Manrope, Arial, sans-serif;
  font-size: .66rem !important;
  font-weight: 800;
  line-height: 1.2 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.homepage-credentials-partnerships .certifications-heading {
  margin: 0 0 24px;
  text-align: left;
}

.homepage-credentials-partnerships .certifications-heading h2,
.homepage-partnerships-heading h2 {
  margin: 0 0 9px;
  color: var(--dark);
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.homepage-credentials-partnerships .certifications-heading h2::after {
  margin: 11px 0 0;
}

.homepage-credentials-partnerships .certifications-heading > p:not(.credentials-partnerships-kicker) {
  max-width: 670px;
  margin: 0 0 17px;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.62;
}

.homepage-credentials-partnerships .certification-grid {
  width: 100%;
  max-width: none;
  margin: auto 0 0;
  gap: 12px;
}

.homepage-credentials-partnerships .certification-card {
  min-height: 154px;
  gap: 10px;
  padding: 18px 10px;
}

.homepage-credentials-partnerships .certification-card img {
  max-width: 118px;
  height: 62px;
}

.homepage-partnerships {
  padding: 24px;
  background: #0a3d25;
  border-radius: 18px;
  box-shadow: 0 18px 38px rgba(4, 27, 16, .14);
}

.homepage-partnerships-heading {
  margin: 0 0 17px;
}

.homepage-partnerships .credentials-partnerships-kicker {
  color: var(--lime) !important;
}

.homepage-partnerships-heading h2 {
  color: #fff;
  font-size: clamp(1.45rem, 2vw, 1.9rem);
}

.homepage-partnership-list {
  display: grid;
  gap: 12px;
}

.homepage-partnership-card {
  display: grid;
  grid-template-columns: minmax(132px, 34%) minmax(0, 1fr);
  min-height: 139px;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 13px;
  transition: transform .2s ease, box-shadow .2s ease;
}

.homepage-partnership-card:hover,
.homepage-partnership-card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, .18);
  outline: none;
}

.homepage-partnership-visual {
  position: relative;
  display: block;
  min-height: 100%;
  overflow: hidden;
}

.homepage-partnership-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 27, 16, .04), rgba(4, 27, 16, .5));
}

.homepage-partnership-visual img {
  width: 100%;
  height: 100%;
  min-height: 139px;
  object-fit: cover;
  transition: transform .35s ease;
}

.homepage-partnership-card:hover .homepage-partnership-visual img,
.homepage-partnership-card:focus-visible .homepage-partnership-visual img {
  transform: scale(1.035);
}

.homepage-partnership-status {
  position: absolute;
  z-index: 1;
  left: 9px;
  right: 9px;
  bottom: 9px;
  display: block;
  padding: 6px 7px;
  color: #fff;
  background: rgba(4, 45, 26, .9);
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 7px;
  font-size: .54rem;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
}

.homepage-partnership-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 14px 16px;
}

.homepage-partnership-copy small {
  margin-bottom: 5px;
  color: var(--green);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .07em;
  line-height: 1.3;
  text-transform: uppercase;
}

.homepage-partnership-copy strong {
  margin-bottom: 5px;
  color: var(--dark);
  font-family: Manrope, Arial, sans-serif;
  font-size: .86rem;
  line-height: 1.25;
}

.homepage-partnership-copy > span {
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.43;
}

.homepage-partnership-copy b {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  color: var(--green);
  font-size: .61rem;
  font-weight: 800;
  text-transform: uppercase;
}

.homepage-partnership-copy b svg {
  width: 14px;
  height: 14px;
}

.sustain-partners-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 15px;
  padding: 8px 12px;
  color: var(--green);
  background: #edf5e7;
  border: 1px solid #c8dcb7;
  border-radius: 999px;
  font-size: .67rem;
  font-weight: 800;
}

.sustain-partners-status svg {
  width: 16px;
  height: 16px;
}

@media (max-width: 1050px) {
  .credentials-partnerships-grid {
    grid-template-columns: 1fr;
  }

  .homepage-partnership-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .homepage-credentials-partnerships {
    padding: 38px 0 42px;
  }

  .homepage-partnerships {
    padding: 20px;
  }

  .homepage-partnership-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 460px) {
  .homepage-credentials-partnerships .certification-grid {
    gap: 7px;
  }

  .homepage-credentials-partnerships .certification-card {
    min-height: 116px;
    padding: 10px 4px;
  }

  .homepage-credentials-partnerships .certification-card img {
    max-width: 72px;
    height: 43px;
  }

  .homepage-partnership-card {
    grid-template-columns: 118px minmax(0, 1fr);
  }

  .homepage-partnership-copy {
    padding: 12px;
  }
}


/* ============================================================
   PROJECTS & CASE STUDIES PAGE
   ============================================================ */
.projects-page{overflow:hidden}
.projects-kicker{margin:0 0 9px;color:var(--lime);font-family:Manrope,Arial,sans-serif;font-size:.68rem;font-weight:800;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.projects-hero{position:relative;min-height:430px;display:grid;align-items:center;overflow:hidden;color:#fff;background:var(--dark)}
.projects-hero-image,.projects-hero-overlay{position:absolute;inset:0}
.projects-hero-image{background:url("images/projects-hero.webp") center/cover no-repeat;transform:scale(1.02)}
.projects-hero-overlay{background:linear-gradient(90deg,rgba(4,27,16,.96) 0%,rgba(4,27,16,.82) 44%,rgba(4,27,16,.22) 74%,rgba(4,27,16,.04) 100%)}
.projects-hero-content{position:relative;z-index:2;padding:54px 0}
.projects-hero-content h1{max-width:900px;margin:0 0 16px;font-size:clamp(3rem,5vw,5rem);line-height:.98;letter-spacing:-.045em}
.projects-hero-content>p:not(.projects-kicker){max-width:740px;margin:0;color:#e5eee8;font-size:1rem;line-height:1.65}
.projects-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}

.projects-intro{padding:38px 0 32px}
.projects-intro-grid{display:grid;grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr);gap:60px;align-items:end}
.projects-intro-grid h2,.projects-feature-copy h2,.projects-enquiry-copy h2{margin:0;color:var(--dark);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12;letter-spacing:-.035em}
.projects-intro-grid>p,.projects-feature-copy>p:not(.projects-kicker),.projects-enquiry-copy>p:not(.projects-kicker){margin:0;color:var(--muted);font-size:.82rem;line-height:1.72}
.projects-heading{max-width:850px;margin:0 auto 24px;text-align:center}
.projects-heading h2{margin:0;color:var(--dark);font-size:clamp(1.9rem,3vw,2.8rem)}
.projects-heading>p:last-child{margin:10px auto 0;max-width:720px;color:var(--muted);font-size:.76rem;line-height:1.6}

.projects-types{padding:35px 0 43px;background:#f7f9f5}
.projects-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.projects-type-grid article{padding:21px;background:#fff;border:1px solid var(--line);border-radius:13px}
.projects-type-grid svg{width:34px;height:34px;margin-bottom:13px;color:var(--green);stroke-width:1.7}
.projects-type-grid h3{margin:0 0 7px;color:var(--dark);font-size:.82rem}
.projects-type-grid p{margin:0;color:var(--muted);font-size:.67rem;line-height:1.5}

.projects-feature{padding:40px 0}
.projects-feature-grid{display:grid;grid-template-columns:minmax(430px,.95fr) minmax(0,1.05fr);gap:48px;align-items:center}
.projects-feature-grid>img{width:100%;height:350px;object-fit:cover;border-radius:15px;box-shadow:var(--shadow)}
.projects-feature-copy>p:not(.projects-kicker),.projects-enquiry-copy>p:not(.projects-kicker){margin-top:13px}
.projects-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.projects-feature-list article{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:14px;background:#f8faf7;border:1px solid var(--line);border-radius:10px}
.projects-feature-list svg{width:34px;height:34px;padding:8px;color:var(--green);border:1px solid #b8d39b;border-radius:50%}
.projects-feature-list h3{margin:0 0 3px;font-size:.73rem}
.projects-feature-list p{margin:0;color:var(--muted);font-size:.62rem;line-height:1.45}

.projects-gallery{padding:40px 0 46px;background:#f7f9f5}
.projects-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.projects-gallery-grid article{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px}
.projects-gallery-grid img{width:100%;height:210px;object-fit:cover}
.projects-gallery-grid article>div{padding:17px}
.projects-gallery-grid span{display:block;margin-bottom:6px;color:var(--green);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.projects-gallery-grid h3{margin:0 0 7px;font-size:.82rem}
.projects-gallery-grid p{margin:0;color:var(--muted);font-size:.66rem;line-height:1.5}

.projects-process{padding:40px 0 44px}
.projects-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.projects-process-grid article{min-height:160px;padding:21px 18px 18px;background:#f8faf7;border:1px solid var(--line);border-radius:12px}
.projects-process-grid span{display:inline-grid;width:31px;height:31px;margin-bottom:12px;color:#fff;background:var(--green);border-radius:50%;place-items:center;font-size:.61rem;font-weight:800}
.projects-process-grid h3{margin:0 0 6px;font-size:.77rem}
.projects-process-grid p{margin:0;color:var(--muted);font-size:.64rem;line-height:1.48}

.projects-policy{padding:34px 0}
.projects-policy-inner{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:center;padding:27px 30px;color:#fff;background:linear-gradient(135deg,#0a4929,#062719);border-radius:15px}
.projects-policy-inner>svg{width:36px;height:36px;color:var(--lime)}
.projects-policy-inner h2{margin:0 0 6px;font-size:1.25rem}
.projects-policy-inner p:last-child{margin:0;color:#dce8df;font-size:.74rem;line-height:1.56}

.projects-enquiry{padding:40px 0;background:#f7f9f5}
.projects-enquiry-grid{display:grid;grid-template-columns:minmax(350px,.82fr) minmax(0,1.18fr);gap:48px;align-items:start;padding:30px;background:#fff;border:1px solid var(--line);border-radius:16px}
.projects-enquiry-points{display:grid;gap:9px;margin-top:19px}
.projects-enquiry-points span{display:flex;align-items:center;gap:8px;color:var(--dark);font-size:.67rem;font-weight:700}
.projects-enquiry-points svg{width:18px;height:18px;color:var(--green)}
.projects-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.projects-field{display:grid;gap:6px}
.projects-field-full{grid-column:1/-1}
.projects-field label{color:var(--dark);font-size:.61rem;font-weight:800}
.projects-field input,.projects-field select,.projects-field textarea{width:100%;padding:12px 13px;color:var(--dark);background:#fff;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:.72rem}
.projects-field textarea{min-height:135px;resize:vertical}
.projects-consent label{display:grid;grid-template-columns:18px 1fr;gap:9px;align-items:start;color:var(--muted);font-size:.61rem;font-weight:500;line-height:1.5}
.projects-consent input{width:16px;height:16px;margin-top:2px}
.projects-consent a{color:var(--green);font-weight:750}
.projects-captcha{display:grid;grid-template-columns:24px 1fr;gap:9px;align-items:center;padding:12px 13px;color:var(--muted);border:1px dashed #aebcad;border-radius:9px;font-size:.62rem}
.projects-captcha svg{width:19px;height:19px;color:var(--green)}
.projects-form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}
.projects-form-footer small{max-width:310px;color:var(--muted);font-size:.56rem;text-align:right}

@media(max-width:1050px){
  .projects-intro-grid,.projects-feature-grid,.projects-enquiry-grid{grid-template-columns:1fr}
  .projects-type-grid,.projects-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .projects-gallery-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .projects-hero{min-height:400px}
  .projects-hero-overlay{background:rgba(4,27,16,.76)}
  .projects-hero-content h1{font-size:2.45rem}
  .projects-type-grid,.projects-feature-list,.projects-process-grid,.projects-form{grid-template-columns:1fr}
  .projects-field-full{grid-column:auto}
  .projects-enquiry-grid{padding:23px 20px}
  .projects-form-footer{align-items:flex-start;flex-direction:column}
  .projects-form-footer small{max-width:none;text-align:left}
}


/* ============================================================
   FAQ PAGE
   ============================================================ */
.faq-page{overflow:hidden}
.faq-kicker{margin:0 0 9px;color:var(--lime);font-family:Manrope,Arial,sans-serif;font-size:.68rem;font-weight:800;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}

.faq-hero{padding:68px 0;color:#fff;background:linear-gradient(135deg,#083f25,#041b10)}
.faq-hero-inner h1{max-width:920px;margin:0 0 16px;font-size:clamp(3rem,5vw,5rem);line-height:.98;letter-spacing:-.045em}
.faq-hero-inner>p:not(.faq-kicker){max-width:720px;margin:0;color:#dce8df;font-size:1rem;line-height:1.65}
.faq-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}

.faq-intro{padding:38px 0 32px}
.faq-intro-grid{display:grid;grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr);gap:60px;align-items:end}
.faq-intro-grid h2{margin:0;color:var(--dark);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12;letter-spacing:-.035em}
.faq-intro-grid>p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.72}

.faq-categories{padding:0 0 38px}
.faq-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.faq-category-grid a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:68px;padding:14px;color:var(--dark);background:#f7f9f5;border:1px solid var(--line);border-radius:11px;text-decoration:none;font-size:.72rem;font-weight:800}
.faq-category-grid a:hover{border-color:#a8c58d;transform:translateY(-1px)}
.faq-category-grid svg{width:20px;height:20px;color:var(--green)}

.faq-list{padding:10px 0 44px;background:#f7f9f5}
.faq-group{padding:34px 0;border-bottom:1px solid var(--line)}
.faq-group:last-child{border-bottom:0}
.faq-group-heading{margin-bottom:18px}
.faq-group-heading h2{margin:0;color:var(--dark);font-size:clamp(1.6rem,2.5vw,2.25rem)}

.faq-accordion{display:grid;gap:9px}
.faq-accordion details{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:11px}
.faq-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;color:var(--dark);cursor:pointer;list-style:none;font-size:.76rem;font-weight:800}
.faq-accordion summary::-webkit-details-marker{display:none}
.faq-accordion summary svg{width:18px;height:18px;flex:0 0 auto;color:var(--green);transition:transform .2s ease}
.faq-accordion details[open] summary svg{transform:rotate(45deg)}
.faq-accordion details>div{padding:0 19px 17px}
.faq-accordion details p{margin:0;max-width:930px;color:var(--muted);font-size:.7rem;line-height:1.65}

.faq-cta{padding:38px 0}
.faq-cta-inner{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:29px 31px;color:#fff;background:linear-gradient(135deg,#0a4929,#062719);border-radius:15px}
.faq-cta-inner h2{margin:0 0 7px;font-size:clamp(1.45rem,2.3vw,2rem)}
.faq-cta-inner>div:first-child>p:last-child{margin:0;max-width:720px;color:#dce8df;font-size:.76rem;line-height:1.55}
.faq-cta-actions{display:flex;flex-wrap:wrap;gap:10px}

@media(max-width:900px){
  .faq-intro-grid,.faq-cta-inner{grid-template-columns:1fr}
  .faq-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .faq-hero{padding:52px 0}
  .faq-hero-inner h1{font-size:2.45rem}
  .faq-category-grid{grid-template-columns:1fr}
}


/* ============================================================
   COOKIE POLICY PAGE
   ============================================================ */
.cookie-page{overflow:hidden}
.cookie-kicker{margin:0 0 9px;color:var(--lime);font-family:Manrope,Arial,sans-serif;font-size:.68rem;font-weight:800;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.cookie-hero{padding:64px 0;color:#fff;background:linear-gradient(135deg,#083f25,#041b10)}
.cookie-hero-inner h1{margin:0 0 14px;font-size:clamp(3rem,5vw,5rem);line-height:.98;letter-spacing:-.045em}
.cookie-hero-inner>p:not(.cookie-kicker):not(.cookie-updated){max-width:710px;margin:0;color:#dce8df;font-size:1rem;line-height:1.65}
.cookie-updated{margin:18px 0 0;color:#afc2b5;font-size:.65rem;font-weight:700}

.cookie-content{padding:42px 0 50px;background:#f7f9f5}
.cookie-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:42px;align-items:start}
.cookie-nav{position:sticky;top:100px;display:grid;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px}
.cookie-nav a{padding:10px 11px;color:var(--dark);border-radius:8px;text-decoration:none;font-size:.65rem;font-weight:750}
.cookie-nav a:hover{color:var(--green);background:#f3f7f0}

.cookie-copy{min-width:0;padding:31px 34px;background:#fff;border:1px solid var(--line);border-radius:15px}
.cookie-copy section{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.cookie-copy section:last-of-type{margin-bottom:0}
.cookie-copy h2{margin:0 0 12px;color:var(--dark);font-size:clamp(1.55rem,2.5vw,2.15rem);letter-spacing:-.025em}
.cookie-copy h3{margin:20px 0 8px;color:var(--dark);font-size:.86rem}
.cookie-copy p,.cookie-copy li{color:var(--muted);font-size:.72rem;line-height:1.68}
.cookie-copy p{margin:0 0 12px}
.cookie-copy ul{margin:0;padding-left:20px}
.cookie-copy li+li{margin-top:5px}

.cookie-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.cookie-category-list article{padding:17px;background:#f8faf7;border:1px solid var(--line);border-radius:11px}
.cookie-category-list article>div{display:flex;align-items:center;gap:9px;margin-bottom:7px}
.cookie-category-list svg{width:20px;height:20px;color:var(--green)}
.cookie-category-list h3{margin:0;font-size:.75rem}
.cookie-category-list p{margin:0;font-size:.64rem;line-height:1.52}

.cookie-table-wrap{overflow-x:auto;margin-top:17px;border:1px solid var(--line);border-radius:10px}
.cookie-table{width:100%;min-width:760px;border-collapse:collapse}
.cookie-table th,.cookie-table td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.62rem;line-height:1.45}
.cookie-table th{color:var(--dark);background:#f3f7f0;font-weight:800}
.cookie-table td{color:var(--muted)}
.cookie-table tr:last-child td{border-bottom:0}

.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0}
.cookie-note{padding:12px 14px;color:#5d654f!important;background:#f4f8ec;border-left:3px solid var(--lime);border-radius:5px}
.cookie-legal-note{display:grid;grid-template-columns:25px 1fr;gap:10px;align-items:start;padding:16px;margin-top:28px;color:#5f4a21;background:#fff8e7;border:1px solid #ead8a5;border-radius:10px}
.cookie-legal-note svg{width:20px;height:20px;color:#99721d}
.cookie-legal-note p{margin:0;color:#5f4a21;font-size:.65rem;line-height:1.55}

@media(max-width:900px){
  .cookie-layout{grid-template-columns:1fr}
  .cookie-nav{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .cookie-hero{padding:50px 0}
  .cookie-hero-inner h1{font-size:2.55rem}
  .cookie-copy{padding:24px 20px}
  .cookie-category-list,.cookie-nav{grid-template-columns:1fr}
}

/* Final navigation restructure */
.menu-list { gap: 2px; }
.menu-list .top-link { white-space: nowrap; }
.footer-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.footer-legal-links a { font-size: .62rem; }
@media (max-width: 1220px) {
  .menu-list .top-link { padding-left: 8px; padding-right: 8px; font-size: .68rem; }
}


/* Page identity and active navigation */
.page-kicker,
.home-kicker,
.use-cases-kicker {
  margin: 0 0 9px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.menu-list .top-link.active,
.menu-list li.active-parent > .top-link {
  color: var(--green);
}

.menu-list .top-link.active::after,
.menu-list li.active-parent > .top-link::after {
  transform: scaleX(1);
}

.dropdown a.active {
  color: var(--green);
  background: #f3f7f0;
  font-weight: 800;
}


/* ============================================================
   CONSISTENT DESKTOP NAVIGATION SPACING
   ============================================================ */
.menu-list {
  gap: 10px;
}

.menu-list .top-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding-right: 10px;
  padding-left: 10px;
  white-space: nowrap;
}

.menu-list .top-link .caret {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 0;
  line-height: 1;
}

@media (max-width: 1220px) {
  .menu-list {
    gap: 5px;
  }

  .menu-list .top-link {
    gap: 6px;
    padding-right: 7px;
    padding-left: 7px;
  }
}


/* ============================================================
   HOMEPAGE FEATURE ROW — IMAGE, COLUMN GAP AND BUTTON FIX
   ============================================================ */
.feature-row {
  gap: 16px;
}

.feature-panel {
  isolation: isolate;
}

.feature-solar {
  position: relative;
  background-image: url("images/solar-recycling.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.feature-solar::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.96) 0%,
    rgba(255, 255, 255, 0.88) 48%,
    rgba(255, 255, 255, 0.30) 76%,
    rgba(255, 255, 255, 0.08) 100%
  );
}

.feature-solar .panel-content {
  position: relative;
  z-index: 1;
  width: 70%;
}

.feature-solar .btn {
  width: auto;
  max-width: none;
  white-space: nowrap;
  flex-wrap: nowrap;
}

.feature-solar .btn i,
.feature-solar .btn svg {
  flex: 0 0 auto;
}

@media (max-width: 1100px) {
  .feature-row {
    gap: 12px;
  }

  .feature-solar .panel-content {
    width: 78%;
  }

  .feature-solar .btn {
    padding-left: 18px;
    padding-right: 18px;
    font-size: .65rem;
  }
}

@media (max-width: 760px) {
  .feature-row {
    gap: 14px;
  }

  .feature-solar .panel-content {
    width: 100%;
  }

  .feature-solar .btn {
    white-space: normal;
  }
}


/* ============================================================
   HOMEPAGE QUALITY & CERTIFICATIONS SPACING
   ============================================================ */
.certifications-heading {
  margin-bottom: 30px;
}

.certifications-heading p {
  margin-bottom: 18px;
}

.certifications-heading .btn {
  display: inline-flex;
  margin: 0;
  white-space: nowrap;
}

.certification-grid {
  margin-top: 0;
}

@media (max-width: 680px) {
  .certifications-heading {
    margin-bottom: 24px;
  }
}


/* ============================================================
   PUBLIC INVESTORS PAGE
   ============================================================ */
.investors-public-page{overflow:hidden}
.investors-public-kicker{
  margin:0 0 9px;
  color:var(--lime);
  font-family:Manrope,Arial,sans-serif;
  font-size:.68rem;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase
}
.investors-public-hero{position:relative;min-height:430px;display:flex;align-items:center;color:#fff;overflow:hidden}
.investors-public-hero-image{position:absolute;inset:0;background:url("images/investors-hero.webp") center/cover no-repeat}
.investors-public-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,31,19,.94) 0%,rgba(4,31,19,.78) 45%,rgba(4,31,19,.18) 100%)}
.investors-public-hero-content{position:relative;z-index:2;padding-top:64px;padding-bottom:64px}
.investors-public-hero-content h1{max-width:800px;margin:0 0 16px;font-size:clamp(2.8rem,5vw,4.8rem);line-height:1;letter-spacing:-.045em}
.investors-public-hero-content>p:not(.investors-public-kicker){max-width:670px;margin:0;color:#e4ece7;font-size:.88rem;line-height:1.7}
.investors-public-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

.investors-public-intro{padding:48px 0;background:#fff}
.investors-public-intro-grid{display:grid;grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr);gap:44px;align-items:start}
.investors-public-intro h2{margin:0;color:var(--dark);font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.08;letter-spacing:-.035em}
.investors-public-intro-grid>div:last-child{padding-top:28px}
.investors-public-intro-grid>div:last-child p{margin:0 0 14px;color:var(--muted);font-size:.82rem;line-height:1.72}

.investors-public-pillars{padding:44px 0;background:#f6f8f4}
.investors-public-heading{max-width:900px;margin:0 auto 24px;text-align:center}
.investors-public-heading h2{margin:0;color:var(--dark);font-size:clamp(1.9rem,3vw,2.7rem)}
.investors-public-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.investors-public-grid article{padding:22px;background:#fff;border:1px solid var(--line);border-radius:11px}
.investors-public-grid svg{width:25px;height:25px;margin-bottom:13px;color:var(--green)}
.investors-public-grid h3{margin:0 0 7px;font-size:.79rem}
.investors-public-grid p{margin:0;color:var(--muted);font-size:.64rem;line-height:1.55}

.investors-public-pathway{padding:48px 0;background:#fff}
.investors-public-pathway-grid{display:grid;grid-template-columns:minmax(350px,.85fr) minmax(0,1.15fr);gap:52px;align-items:start}
.investors-public-pathway h2{margin:0 0 12px;color:var(--dark);font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.12}
.investors-public-pathway-grid>div:first-child>p:not(.investors-public-kicker){margin:0;color:var(--muted);font-size:.75rem;line-height:1.65}
.investors-public-steps{display:grid;gap:10px}
.investors-public-steps article{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:15px 17px;background:#f8faf7;border:1px solid var(--line);border-radius:10px}
.investors-public-steps span{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:.59rem;font-weight:800}
.investors-public-steps h3{margin:0 0 4px;font-size:.72rem}
.investors-public-steps p{margin:0;color:var(--muted);font-size:.62rem;line-height:1.5}

.investors-public-enquiry{padding:44px 0;background:#0a2e1e;color:#fff}
.investors-public-enquiry-inner{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
.investors-public-enquiry h2{margin:0 0 10px;font-size:clamp(2rem,3vw,2.8rem)}
.investors-public-enquiry-inner>div>p:not(.investors-public-kicker){margin:0;color:#d8e4dc;font-size:.75rem;line-height:1.65}
.investors-public-form{display:grid;gap:12px;padding:24px;background:#fff;border-radius:12px;color:var(--dark)}
.investors-public-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.investors-public-form label{display:block;margin-bottom:5px;font-size:.58rem;font-weight:800}
.investors-public-form input,.investors-public-form textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--dark);font:inherit;font-size:.68rem}
.investors-public-form textarea{min-height:105px;resize:vertical}
.investors-public-consent{display:grid!important;grid-template-columns:17px 1fr;gap:8px;align-items:start;color:var(--muted);font-size:.58rem!important;font-weight:500!important;line-height:1.45}
.investors-public-consent input{width:15px;height:15px;margin-top:2px}
.investors-public-consent a{color:var(--green);font-weight:800}

@media(max-width:980px){
  .investors-public-intro-grid,.investors-public-pathway-grid,.investors-public-enquiry-inner{grid-template-columns:1fr}
  .investors-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .investors-public-intro-grid>div:last-child{padding-top:0}
}
@media(max-width:620px){
  .investors-public-hero{min-height:410px}
  .investors-public-hero-content h1{font-size:2.55rem}
  .investors-public-grid,.investors-public-form-grid{grid-template-columns:1fr}
}


/* ============================================================
   SECURE FORMS PHASE 1
   ============================================================ */
.form-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important
}
.career-upload{
  display:grid;
  gap:7px;
  margin-top:4px
}
.career-upload input[type="file"]{
  width:100%;
  padding:12px;
  background:#f8faf7;
  border:1px dashed var(--line);
  border-radius:8px
}
.career-upload small{
  color:var(--muted);
  font-size:.58rem;
  line-height:1.45
}
.form-consent{
  display:grid!important;
  grid-template-columns:18px 1fr;
  gap:9px;
  align-items:start;
  font-size:.6rem!important;
  line-height:1.5;
  font-weight:500!important;
  color:var(--muted)
}
.form-consent input{
  width:16px!important;
  height:16px!important;
  margin-top:2px
}
.form-consent a{
  color:var(--green);
  font-weight:800
}
.form-status-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:28px;
  background:#f4f7f2
}
.form-status-card{
  width:min(620px,100%);
  padding:42px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 18px 45px rgba(5,38,23,.10);
  text-align:center
}
.form-status-kicker{
  margin:0 0 8px;
  color:var(--lime);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase
}
.form-status-card h1{
  margin:0 0 12px;
  color:var(--dark);
  font-size:2.4rem
}
.form-status-card p{
  margin:0 0 24px;
  color:var(--muted);
  line-height:1.65
}


/* ============================================================
   CAREERS FORM — CLEAN CV UPLOAD AND SUBMIT LAYOUT
   ============================================================ */
.career-form-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  width: 100%;
  margin-top: 8px;
}

.career-form-actions .career-upload {
  width: 100%;
  margin: 0;
}

.career-upload {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.career-upload label {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--dark);
}

.career-upload input[type="file"] {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 0.68rem;
}

.career-upload small {
  display: block;
  margin: 0;
  color: var(--muted);
  font-size: 0.6rem;
  line-height: 1.5;
}

.career-form-actions .form-consent {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  width: 100%;
  margin: 0;
  padding: 12px 14px;
  background: #f8faf7;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 0.62rem !important;
  line-height: 1.55;
}

.career-form-actions .form-consent input {
  width: 16px !important;
  height: 16px !important;
  margin: 2px 0 0;
}

.career-form-actions .btn[type="submit"],
.career-form-actions button[type="submit"],
.career-form-actions input[type="submit"] {
  width: auto;
  min-width: 250px;
  justify-self: start;
  margin: 0;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .career-form-actions .btn[type="submit"],
  .career-form-actions button[type="submit"],
  .career-form-actions input[type="submit"] {
    width: 100%;
    min-width: 0;
    justify-self: stretch;
  }
}


/* ============================================================
   AUDITED MOBILE NAVIGATION — CONSISTENT ACROSS ALL PAGES
   ============================================================ */
.mobile-menu,
.overlay-bg {
  display: block;
  visibility: hidden;
  pointer-events: none;
}

.mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  width: min(360px, 90vw);
  height: 100dvh;
  padding: 62px 22px 28px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
  box-shadow: -18px 0 44px rgba(0, 0, 0, 0.18);
  clip-path: inset(0 0 0 100%);
  transition: clip-path .25s ease, visibility .25s ease;
}

.mobile-menu.open {
  visibility: visible;
  pointer-events: auto;
  clip-path: inset(0);
}

.overlay-bg {
  position: fixed;
  inset: 0;
  z-index: 990;
  background: rgba(3, 22, 14, 0.58);
  opacity: 0;
  transition: opacity .25s ease, visibility .25s ease;
}

.overlay-bg.open {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}

.mobile-menu .close-btn {
  position: absolute;
  top: 15px;
  right: 16px;
  display: grid;
  width: 40px;
  height: 40px;
  padding: 0;
  place-items: center;
  color: var(--dark);
  background: #f3f6f1;
  border: 1px solid var(--line);
  border-radius: 50%;
  cursor: pointer;
}

.mobile-menu a {
  display: block;
  padding: 12px 7px;
  color: var(--dark);
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.35;
  border-bottom: 1px solid #e8ede7;
}

.mobile-menu a:focus-visible,
.mobile-menu .close-btn:focus-visible,
.hamburger:focus-visible {
  outline: 3px solid var(--lime);
  outline-offset: 3px;
}

.mobile-menu .sub-label {
  margin: 22px 7px 5px;
  color: var(--green);
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

body.menu-open {
  overflow: hidden;
  touch-action: none;
}

@media (min-width: 851px) {
  .mobile-menu,
  .overlay-bg {
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-menu,
  .overlay-bg {
    transition: none;
  }
}


/* ============================================================
   MOBILE MENU — HIDE DESKTOP NAV AND FIX LAYERING
   ============================================================ */
@media (max-width: 980px) {
  .nav .menu-list,
  .nav .desktop-nav,
  .nav .nav-links,
  .topbar {
    display: none !important;
  }

  .nav {
    position: relative;
    z-index: 100;
  }

  .overlay-bg {
    position: fixed !important;
    inset: 0;
    z-index: 9998 !important;
  }

  .mobile-menu {
    position: fixed !important;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 9999 !important;
  }

  body.menu-open .nav,
  body.menu-open .topbar,
  body.menu-open #site-header {
    z-index: 1 !important;
  }

  body.menu-open .nav .menu-list,
  body.menu-open .nav .desktop-nav,
  body.menu-open .nav .nav-links,
  body.menu-open .topbar {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.menu-open .hamburger {
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* ============================================================
   HOSTING ERROR PAGES
   ============================================================ */
.hosting-error-page {
  min-height: 65vh;
  display: grid;
  place-items: center;
  padding: 72px 20px;
  color: #fff;
  text-align: center;
  background:
    radial-gradient(circle at top right, rgba(151, 215, 0, .2), transparent 34%),
    var(--dark);
}

.hosting-error-card {
  width: min(680px, 100%);
  padding: clamp(32px, 6vw, 64px);
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 18px;
  box-shadow: var(--shadow);
}

.hosting-error-code {
  display: block;
  margin-bottom: 12px;
  color: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-size: clamp(3rem, 11vw, 6rem);
  font-weight: 800;
  line-height: 1;
}

.hosting-error-card h1 {
  margin: 0 0 14px;
  font-size: clamp(1.8rem, 4vw, 3rem);
}

.hosting-error-card p {
  max-width: 540px;
  margin: 0 auto 25px;
  color: #dce9df;
  line-height: 1.7;
}

/* ============================================================
   COMMUNITY SUPPORT
   ============================================================ */
.community-page { overflow: hidden; }

.community-hero {
  position: relative;
  isolation: isolate;
  min-height: 560px;
  display: grid;
  align-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 77% 20%, rgba(136, 181, 46, .34), transparent 30%),
    linear-gradient(125deg, #031d11 0%, #073d22 56%, #0b6033 100%);
}

.community-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .16;
  background-image: linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(90deg, transparent, #000 50%, #000);
}

.community-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .65fr);
  gap: clamp(46px, 7vw, 110px);
  align-items: center;
  padding-block: clamp(72px, 9vw, 120px);
}

.community-hero-copy { max-width: 780px; }
.community-kicker, .community-eyebrow {
  margin: 0 0 16px;
  color: var(--lime);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.community-hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(2.75rem, 5.5vw, 5.35rem);
  line-height: 1.03;
  letter-spacing: -.045em;
}

.community-hero-lead {
  max-width: 660px;
  margin: 25px 0 0;
  color: #dce9df;
  font-size: clamp(1.05rem, 1.6vw, 1.28rem);
  line-height: 1.75;
}

.community-hero-actions, .community-direct-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 30px;
}

.community-hero-art {
  position: relative;
  width: min(420px, 100%);
  aspect-ratio: 1;
  justify-self: end;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 44% 56% 54% 46% / 48% 42% 58% 52%;
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 0 70px rgba(255,255,255,.08), 0 34px 90px rgba(0,0,0,.24);
  transform: rotate(4deg);
}

.community-smile-mark {
  position: absolute;
  inset: 18%;
  display: grid;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--lime), #5f951e);
  box-shadow: 0 25px 55px rgba(0,0,0,.26);
}

.community-smile-mark svg { width: 58%; height: 58%; stroke-width: 1.5; }
.community-heart { position: absolute; display: grid; place-items: center; color: #fff; border-radius: 50%; background: #0b7240; box-shadow: 0 12px 30px rgba(0,0,0,.22); }
.community-heart svg { fill: rgba(255,255,255,.16); }
.community-heart-one { width: 74px; height: 74px; right: 3%; top: 8%; }
.community-heart-two { width: 52px; height: 52px; left: 6%; bottom: 13%; }

.community-section { padding: clamp(72px, 8vw, 112px) 0; }
.community-intro-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); gap: clamp(50px, 8vw, 120px); align-items: center; }
.community-section h2 { margin: 0; color: var(--dark); font-size: clamp(2rem, 3.7vw, 3.55rem); line-height: 1.12; letter-spacing: -.035em; }
.community-lead { margin: 25px 0 16px; color: #26342a; font-size: 1.16rem; font-weight: 600; line-height: 1.75; }
.community-intro-grid > div > p:not([class]) { color: var(--muted); line-height: 1.8; }
.community-text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; color: var(--green); font-weight: 800; }
.community-text-link svg { width: 17px; }

.community-status-card {
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid #cfe0d2;
  border-radius: 22px;
  background: linear-gradient(145deg, #f7fbf6, #eaf4e8);
  box-shadow: 0 22px 50px rgba(4,27,16,.1);
}
.community-status-label { display: inline-flex; align-items: center; gap: 8px; color: var(--green); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.community-status-label svg { width: 17px; }
.community-status-card h3 { margin: 16px 0 22px; color: var(--dark); font-size: 1.55rem; }
.community-status-card ul { display: grid; gap: 15px; margin: 0; padding: 0; list-style: none; }
.community-status-card li { display: grid; grid-template-columns: 22px 1fr; gap: 11px; align-items: start; color: #304137; line-height: 1.55; }
.community-status-card li svg { width: 20px; color: var(--green); }
.community-status-card > p { margin: 24px 0 0; padding-top: 20px; color: #5c6d62; border-top: 1px solid #cbdacc; font-size: .82rem; line-height: 1.65; }

.community-values-section { background: var(--cream); }
.community-heading { max-width: 760px; margin-bottom: 42px; }
.community-heading-centred { margin-inline: auto; text-align: center; }
.community-heading > p:last-child { color: var(--muted); line-height: 1.7; }
.community-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.community-card { padding: 34px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 15px 36px rgba(4,27,16,.06); }
.community-card > span { display: grid; place-items: center; width: 54px; height: 54px; color: #fff; border-radius: 15px; background: var(--green); }
.community-card h3 { margin: 25px 0 10px; color: var(--dark); font-size: 1.22rem; }
.community-card p { margin: 0; color: var(--muted); line-height: 1.7; }

.community-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 50px 0 0; padding: 0; list-style: none; counter-reset: none; }
.community-steps li { position: relative; padding: 0 25px; border-left: 1px solid var(--line); }
.community-steps li:last-child { border-right: 1px solid var(--line); }
.community-steps span { color: var(--lime); font-size: .78rem; font-weight: 800; letter-spacing: .15em; }
.community-steps h3 { margin: 14px 0 10px; color: var(--dark); font-size: 1.1rem; }
.community-steps p { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.7; }

.community-direct-section { padding-top: 20px; }
.community-direct-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 30px 60px;
  align-items: center;
  padding: clamp(38px, 6vw, 72px);
  color: #fff;
  border-radius: 26px;
  background: linear-gradient(125deg, var(--deep), var(--green));
  box-shadow: var(--shadow);
}
.community-direct-card h2 { max-width: 800px; color: #fff; }
.community-direct-card > div:first-child p:last-child { max-width: 760px; margin: 20px 0 0; color: #dce9df; line-height: 1.75; }
.community-direct-actions { max-width: 330px; margin-top: 0; }
.community-direct-actions .btn { width: 100%; justify-content: center; }
.community-security-note { grid-column: 1 / -1; display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: start; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.18); }
.community-security-note svg { color: var(--lime); }
.community-security-note p { margin: 0; color: #cfe0d4; font-size: .84rem; line-height: 1.6; }

@media (max-width: 900px) {
  .community-hero-grid, .community-intro-grid, .community-direct-card { grid-template-columns: 1fr; }
  .community-hero-art { width: min(330px, 78vw); justify-self: center; }
  .community-card-grid { grid-template-columns: 1fr; }
  .community-steps { grid-template-columns: repeat(2, 1fr); gap: 32px 0; }
  .community-steps li:nth-child(3) { border-left: 1px solid var(--line); }
  .community-direct-actions { max-width: 100%; }
}

@media (max-width: 600px) {
  .community-hero { min-height: auto; }
  .community-hero-grid { gap: 45px; padding-block: 65px; }
  .community-hero-actions .btn, .community-direct-actions .btn { width: 100%; justify-content: center; }
  .community-intro-grid { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .community-steps { grid-template-columns: 1fr; gap: 0; }
  .community-steps li { padding: 25px 0 25px 22px; border-left: 2px solid var(--line); }
  .community-steps li:last-child { border-right: 0; }
  .community-direct-card { border-radius: 18px; }
}


/* ============================================================
   FOOTER SOCIAL ICONS — RESTORED AND RESPONSIVE
   ============================================================ */
.footer-bottom .nav-social {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  min-width: 190px;
}

.footer-bottom .nav-social a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 50%;
  text-decoration: none;
  visibility: visible !important;
  opacity: 1 !important;
}

.footer-bottom .nav-social i {
  display: inline-block !important;
  font-size: 1rem;
  line-height: 1;
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 760px) {
  .footer-bottom {
    gap: 16px;
  }

  .footer-bottom .nav-social {
    width: 100%;
    order: 2;
  }

  .footer-bottom > span:first-child {
    order: 1;
  }

  .footer-bottom > span:last-child {
    order: 3;
  }
}


/* ============================================================
   FOOTER SOCIAL ICONS — HOVER FEEDBACK
   ============================================================ */
.footer-bottom .nav-social a {
  transition:
    background-color .2s ease,
    color .2s ease,
    transform .2s ease,
    border-color .2s ease;
}

.footer-bottom .nav-social a:hover,
.footer-bottom .nav-social a:focus-visible {
  transform: translateY(-2px);
  outline: none;
}

/* YouTube */
.footer-bottom .nav-social a[aria-label*="YouTube"]:hover,
.footer-bottom .nav-social a[aria-label*="YouTube"]:focus-visible {
  background: #ff0000;
  color: #fff;
}

/* Facebook */
.footer-bottom .nav-social a[aria-label*="Facebook"]:hover,
.footer-bottom .nav-social a[aria-label*="Facebook"]:focus-visible {
  background: #1877f2;
  color: #fff;
}

/* LinkedIn */
.footer-bottom .nav-social a[aria-label*="LinkedIn"]:hover,
.footer-bottom .nav-social a[aria-label*="LinkedIn"]:focus-visible {
  background: #0a66c2;
  color: #fff;
}

/* Instagram */
.footer-bottom .nav-social a[aria-label*="Instagram"]:hover,
.footer-bottom .nav-social a[aria-label*="Instagram"]:focus-visible {
  background: #c13584;
  color: #fff;
}


/* ============================================================
   HOMEPAGE PHASE CARDS — VISUALLY BALANCED IMAGE TREATMENT
   The source artwork has different natural brightness levels,
   so each fade is tuned to give the cards a consistent finish.
   ============================================================ */
.feature-waste::before,
.feature-solar::before,
.feature-circular::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.feature-waste::before {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.66) 0%,
    rgba(255, 255, 255, 0.25) 28%,
    rgba(255, 255, 255, 0.04) 48%,
    rgba(255, 255, 255, 0) 62%
  );
}

.feature-solar::before {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.96) 0%,
    rgba(255, 255, 255, 0.78) 46%,
    rgba(255, 255, 255, 0.24) 74%,
    rgba(255, 255, 255, 0.04) 100%
  );
}

.feature-circular::before {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.16) 0%,
    rgba(255, 255, 255, 0.03) 26%,
    rgba(255, 255, 255, 0) 44%
  );
}

.feature-circular {
  background-color: rgba(10, 88, 52, 0.11);
  background-blend-mode: multiply;
}

.feature-waste .panel-content,
.feature-solar .panel-content,
.feature-circular .panel-content {
  position: relative;
  z-index: 2;
  background: transparent;
}

/* Keep the phase-card artwork open while giving the copy strong contrast. */
.feature-row .panel-content,
.feature-row .feature-solar .panel-content {
  width: 100%;
  padding: 30px 30px;
}

.feature-row .phase-copy {
  width: 100%;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.feature-row .phase-copy h2 {
  margin-bottom: 10px;
  font-size: 1.28rem;
  line-height: 1.25;
  font-weight: 800;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 1),
    0 0 7px rgba(255, 255, 255, 1),
    0 0 16px rgba(255, 255, 255, 0.96);
}

.feature-row .phase-copy p {
  margin-bottom: 0;
  color: #10261b;
  font-size: 0.86rem;
  line-height: 1.55;
  font-weight: 700;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 1),
    0 0 6px rgba(255, 255, 255, 1),
    0 0 14px rgba(255, 255, 255, 0.96);
}

.feature-circular .phase-copy {
  width: 100%;
  margin-bottom: 14px;
}

.feature-circular .process {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.feature-circular .process span {
  font-weight: 700;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 1),
    0 0 5px rgba(255, 255, 255, 1),
    0 0 12px rgba(255, 255, 255, 0.95);
}

@media (max-width: 760px) {
  .feature-row .panel-content,
  .feature-row .feature-solar .panel-content {
    padding: 28px 24px;
  }
}
/* Materials positioning: distinct technology, industries and manufacturing sections. */
.home-dashboard .dashboard-grid { grid-template-columns: minmax(0, 1fr); }
.technology-heading { margin-top: 30px; }
.technology-heading .section-heading p { margin: -6px 0 0; color: var(--muted); font-size: .9rem; }
#technology-pillars { margin-top: 18px; }
.home-manufacturing { margin: 12px 0 24px; }
.home-manufacturing .impact-card { padding: 26px; }
.home-manufacturing .impact-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.home-manufacturing .impact-grid article { padding: 14px 20px; border: 0; border-right: 1px solid rgba(255,255,255,.22); }
.home-manufacturing .impact-grid article:last-child { border-right: 0; }
.home-manufacturing .impact-grid strong { font-size: .95rem; }
.home-manufacturing .impact-grid span { font-size: .8rem; line-height: 1.55; }
.home-manufacturing .impact-grid svg { width: 26px; height: 26px; }
.home-partner-cta { margin-top: 24px; padding: 36px 0; background: var(--cream); }
.home-partner-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.home-partner-cta h2 { margin: 8px 0 12px; font-size: clamp(1.7rem, 2.5vw, 2.4rem); line-height: 1.2; }
.home-partner-cta p { max-width: 760px; margin-bottom: 0; line-height: 1.6; }
.home-partner-cta .btn { flex-shrink: 0; }
@media (min-width: 851px) {
  .hero h1 { max-width: 58%; }
  .hero h1 span { max-width: 100%; }
}
@media (max-width: 1000px) {
  .home-manufacturing .impact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; }
  .home-manufacturing .impact-grid article:nth-child(even) { border-right: 0; }
  .home-partner-cta .container { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
  .home-manufacturing .impact-card { padding: 24px 18px; }
  .home-manufacturing .impact-grid { grid-template-columns: 1fr; gap: 0; }
  .home-manufacturing .impact-grid article { padding: 16px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.22); }
  .home-manufacturing .impact-grid article:last-child { border: 0; }
  .home-partner-cta { padding: 28px 0; }
}

.footer-brand {
  max-width: 300px;
}

.footer-brand-description {
  max-width: 275px;
  margin: 16px 0 12px;
  color: #b7c6bc;
  font-size: 0.75rem;
  line-height: 1.6;
}

.footer-equal-opportunities {
  max-width: 275px;
  margin: 0;
  padding-left: 12px;
  color: #d5dfd8;
  border-left: 2px solid var(--lime);
  font-size: 0.66rem;
  line-height: 1.55;
}

@media (max-width: 850px) {
  .footer-brand {
    max-width: 100%;
  }

  .footer-brand-description,
  .footer-equal-opportunities {
    max-width: 520px;
  }
}
/* Form buttons remain visibly unavailable until validation and security pass. */
form[data-secure-form="true"] [type="submit"]:disabled,
form[data-secure-form="true"] [type="submit"]:disabled:hover {
  background: #dce1df !important;
  color: #52605a !important;
  border-color: #dce1df !important;
  box-shadow: none !important;
  cursor: not-allowed;
  opacity: 1;
  transform: none !important;
}
.form-submit-status {
  grid-column: 1 / -1;
  flex-basis: 100%;
  width: 100%;
  margin: 10px 0 0;
  color: #52605a;
  font-size: 0.875rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
form[data-secure-form="true"] [hidden] {
  display: none !important;
}
