/* Global visual system: final cascade layer for a consistent site-wide UI. */
:root {
  --black: #fbfaf5;
  --black-2: #f3efe3;
  --panel: #ffffff;
  --panel-2: #f6f1e5;
  --panel-border: rgba(102, 125, 83, 0.18);
  --white: #ffffff;
  --text: #21311f;
  --muted: #586652;
  --muted-light: #cfd7c7;
  --green: #5fa83c;
  --green-dark: #3f7725;
  --line: #dce4d7;
  --soft-white: #fdfbf6;
  --leaf: #7eb64f;
  --moss: #6a8f49;
  --sun: #efcf76;
  --tomato: #d97745;
  --soil: #8f6a4d;
  --radius-sm: 4px;
  --radius-md: 6px;
  --shadow-panel: 0 16px 36px rgba(84, 96, 70, 0.08);
}

html {
  background: var(--soft-white);
}

body {
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(255, 251, 243, 0.94), rgba(246, 250, 239, 0.96)),
    var(--soft-white);
  text-rendering: geometricPrecision;
}

.page-scale {
  background:
    linear-gradient(180deg, rgba(255, 250, 244, 0.98), rgba(245, 249, 240, 0.98)),
    var(--soft-white);
}

.ig-container {
  width: min(var(--container), calc(100vw - 70px));
}

.dark-band {
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 251, 241, 0.94)),
    linear-gradient(90deg, rgba(216, 235, 196, 0.3), rgba(243, 223, 166, 0.16));
}

.light-band {
  color: var(--text);
  background: var(--soft-white);
}

.eyebrow {
  color: var(--green);
  font-size: 9px;
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
}

h1,
h2,
h3,
strong {
  letter-spacing: 0;
}

p {
  letter-spacing: 0;
}

.site-header {
  background: rgba(253, 251, 246, 0.94);
  border-bottom: 1px solid rgba(124, 142, 108, 0.18);
  box-shadow: 0 8px 24px rgba(82, 96, 70, 0.06);
}

.site-nav a {
  position: relative;
  color: rgba(33, 49, 31, 0.88);
  transition: color 160ms ease;
}

.site-nav a:hover,
.site-nav a.active {
  color: var(--green);
}

.site-nav a.active::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: -17px;
  left: 0;
  height: 2px;
  border-radius: 999px;
  background: var(--green);
}

.header-plan {
  width: auto;
  min-width: 146px;
  padding: 0 14px;
  border-color: rgba(95, 168, 60, 0.36);
  border-radius: var(--radius-md);
  color: #071006;
  background: var(--green);
}

.btn {
  min-height: 32px;
  border-radius: var(--radius-sm);
  font-weight: 900;
  text-align: center;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

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

.btn-primary {
  color: #071006;
  background: var(--green);
}

.btn-outline {
  border-color: rgba(95, 168, 60, 0.34);
  color: #23401c;
  background: rgba(255, 255, 255, 0.76);
}

.plain-link {
  color: inherit;
}

.hero {
  border-bottom: 1px solid rgba(124, 142, 108, 0.12);
}

.hero::before {
  background: linear-gradient(90deg, rgba(252, 248, 238, 0.96) 0%, rgba(248, 244, 231, 0.94) 32%, rgba(238, 245, 226, 0.7) 48%, rgba(248, 252, 245, 0.28) 68%, rgba(255, 255, 255, 0.04) 100%);
}

.hero-copy {
  width: 430px;
}

.hero-copy h1 {
  width: 420px;
  margin-bottom: 14px;
  font-size: 38px;
  line-height: 1.04;
  font-weight: 900;
  text-wrap: balance;
}

.hero-copy p {
  width: 390px;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(35, 50, 30, 0.9);
}

.hero-copy h1,
.hero-copy strong,
.hero-feature strong,
.hero-feature span:last-child,
:is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy h1,
:is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy p,
:is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-feature strong,
:is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-feature span:last-child {
  color: var(--text);
}

.hero-feature strong {
  margin-top: 2px;
  font-size: 9px;
  line-height: 1.18;
}

.hero-feature span:last-child {
  font-size: 7px;
  line-height: 1.3;
}

:is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) {
  height: 342px;
}

:is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-inner {
  height: 342px;
}

:is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-media {
  left: 0;
  right: 0;
  height: 342px;
  background-position: center;
}

:is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy {
  width: 418px;
  padding-top: 30px;
}

:is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy h1 {
  width: 404px;
  margin-bottom: 14px;
  font-size: 36px;
  line-height: 1.04;
}

:is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy p {
  width: 356px;
  margin-bottom: 0;
  color: #eef2ed;
  font-size: 11px;
  line-height: 1.58;
}

:is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .eyebrow {
  margin-bottom: 12px;
}

.products-hero-features,
.about-hero-features,
.contact-hero-features {
  bottom: 24px;
}

.products-hero-features .hero-feature,
.about-hero-features .hero-feature,
.contact-hero-features .hero-feature {
  gap: 10px;
}

.products-hero-features .round-icon,
.solutions-hero-features .round-icon,
.about-hero-features .round-icon,
.contact-hero-features .round-icon {
  font-size: 7px;
  font-weight: 800;
}

.products-hero-features strong,
.solutions-hero-features strong,
.about-hero-features .hero-feature strong,
.contact-hero-features .hero-feature strong {
  margin-bottom: 3px;
  font-size: 8px;
  line-height: 1.2;
}

.products-hero-features span:last-child,
.solutions-hero-features span:last-child,
.about-hero-features .hero-feature span:last-child,
.contact-hero-features .hero-feature span:last-child {
  font-size: 7px;
  line-height: 1.35;
}

.resources-hero .hero-actions .btn,
.solutions-hero .hero-actions .btn {
  min-height: 34px;
  font-size: 9px;
}

.resources-hero .hero-actions {
  margin-top: 18px;
}

.about-hero .hero-copy h1,
.contact-hero .hero-copy h1 {
  width: 360px;
}

.about-hero-lead {
  width: 340px;
  margin-bottom: 16px;
  font-size: 16px;
  line-height: 1.38;
}

.about-hero-body {
  width: 356px;
  font-size: 11px;
  line-height: 1.58;
}

.contact-hero .hero-copy p {
  width: 350px;
}

.round-icon,
.solution-link-icon,
.contact-info-card::before,
.support-list article::before,
.proof-metric::before,
.value-card::before {
  border-color: rgba(114, 226, 43, 0.72);
  color: var(--green);
}

.hero-feature strong,
.hero-feature span:last-child {
  color: rgba(255, 255, 255, 0.92);
}

:is(
  .product-card,
  .solution-link-card,
  .system-card,
  .compare-panel,
  .use-case-card,
  .package-card,
  .case-card,
  .team-card,
  .team-side,
  .story-side-card,
  .contact-page-form,
  .contact-info-card,
  .process-strip,
  .map-panel,
  .hub-panel,
  .about-cta-panel
) {
  border-color: var(--panel-border);
  border-radius: var(--radius-md);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 239, 0.98)),
    var(--panel);
  box-shadow: var(--shadow-panel);
}

:is(.resource-card, .faq-item) {
  border-color: rgba(29, 43, 32, 0.16);
  border-radius: var(--radius-md);
  background: #ffffff;
  box-shadow: 0 14px 36px rgba(16, 24, 17, 0.06);
}

:is(.resource-card, .case-card, .use-case-card, .solution-link-card) img {
  background-color: transparent;
}

.product-card img,
.catalog-media img,
.system-card img,
.package-card img {
  background-color: transparent;
}

.section-title-row h2,
.library-header h2,
.contact-page-form h2,
.story-copy h2,
.journey-intro h2,
.values-header h2,
.team-header h2,
.craft-intro h2,
.support-copy h2,
.process-heading h2,
.package-heading h2,
.system-intro h2,
.compare-challenges h2,
.compare-advantage h2 {
  text-wrap: balance;
}

.section-rule {
  background: rgba(218, 230, 215, 0.16);
}

.light-band .section-rule {
  background: rgba(18, 28, 20, 0.14);
}

.light-band .eyebrow {
  color: var(--green-dark);
}

.light-band h2,
.light-band h3,
.light-band strong {
  color: var(--text);
}

.light-band p {
  color: #324036;
}

input,
select,
textarea {
  outline: none;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(114, 226, 43, 0.72);
  box-shadow: 0 0 0 2px rgba(114, 226, 43, 0.12);
}

.site-footer {
  border-top: 1px solid rgba(126, 144, 109, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 251, 244, 0.98), rgba(236, 243, 228, 0.98)),
    #eef5e8;
}

.footer-col h3,
.footer-newsletter h3 {
  color: rgba(33, 49, 31, 0.88);
}

.footer-col a,
.footer-brand p,
.footer-newsletter p,
.footer-bottom p,
.footer-bottom a {
  color: rgba(70, 86, 63, 0.88);
}

.footer-col a:hover,
.footer-bottom a:hover {
  color: var(--green);
}

.footer-newsletter input {
  border-color: rgba(126, 144, 109, 0.22);
  background: rgba(255, 255, 255, 0.74);
}

.footer-newsletter button {
  background: var(--green);
}

@media (max-width: 1366px) {
  .ig-container {
    width: min(var(--container), calc(100vw - 48px));
  }

  .site-nav {
    gap: 18px;
  }

  .site-nav a {
    font-size: 13px;
  }

  .header-plan {
    min-width: 0;
    padding: 0 16px;
    font-size: 12px;
  }

  .hero-copy h1,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy h1 {
    font-size: 32px;
    line-height: 1.05;
  }

  .hero-copy p,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy p {
    font-size: 12px;
  }

  .section-title-row h2,
  .library-header h2,
  .team-header h2,
  .contact-faq-intro h2 {
    font-size: 30px;
  }

  .footer-inner,
  .products-footer .footer-inner,
  .solutions-footer .footer-inner,
  .resources-footer .footer-inner,
  .about-footer .footer-inner,
  .contact-footer .footer-inner {
    gap: 16px;
  }
}

@media (max-width: 1100px) {
  .ig-container {
    width: min(var(--container), calc(100vw - 36px));
  }

  .site-nav {
    gap: 14px;
  }

  .site-nav a {
    font-size: 12px;
  }

  .header-plan {
    padding: 0 14px;
    font-size: 11px;
  }

  .hero-actions {
    flex-wrap: wrap;
  }

  .section-title-row {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 10px;
  }

  .section-rule {
    display: none;
  }

  .footer-inner,
  .products-footer .footer-inner,
  .solutions-footer .footer-inner,
  .resources-footer .footer-inner,
  .about-footer .footer-inner,
  .contact-footer .footer-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

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

@media (max-width: 800px) {
  .ig-container {
    width: min(100% - 28px, var(--container));
  }

  .site-header.is-open .site-nav {
    border-color: rgba(218, 230, 215, 0.14);
    border-radius: var(--radius-md);
    background: rgba(2, 5, 3, 0.98);
  }

  .site-nav a.active::before {
    display: none;
  }

  .hero {
    padding: 34px 0 28px;
  }

  .hero-copy h1 {
    font-size: 36px;
    line-height: 1.04;
  }

  .hero-actions {
    flex-wrap: wrap;
  }

  .btn {
    min-width: 0;
    white-space: normal;
  }
}

@media (max-width: 800px) {
  html,
  body {
    overflow-x: hidden;
  }

  .page-scale {
    padding-top: 58px;
  }

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

  .site-header.is-open .site-nav {
    left: 14px;
    right: 14px;
    gap: 2px;
    padding: 8px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.45);
  }

  .site-nav a {
    min-height: 42px;
    display: flex;
    align-items: center;
    border-radius: 4px;
    font-size: 14px;
  }

  .hero,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) {
    height: auto;
    min-height: 0;
    padding: 42px 0 34px;
  }

  .hero-inner,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-inner {
    height: auto;
    min-height: 0;
  }

  .hero-media,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-media {
    inset: 0;
    height: auto;
    min-height: 0;
    background-size: cover;
    background-position: center;
  }

  .hero::before,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero)::before {
    background: linear-gradient(90deg, rgba(2, 5, 3, 0.86), rgba(2, 5, 3, 0.74));
  }

  .hero-copy,
  .hero-copy p,
  .hero-copy h1,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy h1,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy p {
    width: auto;
    max-width: 100%;
  }

  .hero-copy,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy {
    padding-top: 0;
  }

  .hero-copy h1,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy h1 {
    font-size: 34px;
    line-height: 1.06;
    text-wrap: balance;
  }

  .hero-copy p,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy p {
    font-size: 14px;
    line-height: 1.55;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
  }

  .hero-actions .btn,
  .btn {
    width: 100%;
    min-height: 44px;
    padding-right: 16px;
    padding-left: 16px;
    font-size: 14px;
    line-height: 1.2;
  }

  .hero-features,
  .products-hero-features,
  .solutions-hero-features,
  .about-hero-features,
  .contact-hero-features,
  .resources-feature-grid {
    position: static;
    width: auto;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
  }

  .hero-feature,
  .products-hero-features .hero-feature,
  .about-hero-features .hero-feature,
  .contact-hero-features .hero-feature {
    align-items: center;
  }

  .hero-feature strong,
  .products-hero-features strong,
  .solutions-hero-features strong,
  .about-hero-features .hero-feature strong,
  .contact-hero-features .hero-feature strong {
    font-size: 12px;
  }

  .hero-feature span:last-child,
  .products-hero-features span:last-child,
  .solutions-hero-features span:last-child,
  .about-hero-features .hero-feature span:last-child,
  .contact-hero-features .hero-feature span:last-child {
    font-size: 11px;
  }

  .section-title-row,
  .library-header,
  .team-header {
    gap: 12px;
  }

  .section-title-row h2,
  .library-copy h2,
  .team-header h2,
  .contact-faq-intro h2 {
    font-size: 26px;
    line-height: 1.1;
  }

  .section-rule {
    display: none;
  }

  .product-grid,
  .strategy-grid,
  .application-grid,
  .resource-card-grid,
  .case-grid,
  .faq-grid,
  .values-grid,
  .proof-metrics,
  .team-cards,
  .craft-grid,
  .support-grid,
  .process-grid,
  .package-grid,
  .use-case-grid {
    grid-template-columns: 1fr;
  }

  .site-footer {
    padding: 34px 0 22px;
  }

  .footer-inner,
  .products-footer .footer-inner,
  .solutions-footer .footer-inner,
  .resources-footer .footer-inner,
  .about-footer .footer-inner,
  .contact-footer .footer-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 12px;
    row-gap: 18px;
    align-items: start;
  }

  .footer-brand img {
    width: 148px;
  }

  .footer-col {
    min-width: 0;
  }

  .footer-brand p,
  .footer-newsletter p,
  .footer-col a {
    font-size: 10px;
    line-height: 1.35;
  }

  .footer-col h3,
  .footer-newsletter h3 {
    margin-bottom: 6px;
    font-size: 11px;
    line-height: 1.2;
  }

  .footer-newsletter form {
    display: grid;
    grid-template-columns: 1fr 46px;
    width: 100%;
  }

  .footer-newsletter input {
    width: 100%;
  }

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

@media (max-width: 520px) {
  .ig-container {
    width: min(100% - 24px, var(--container));
  }

  .hero,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) {
    padding: 34px 0 30px;
  }

  .hero-copy h1,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy h1 {
    font-size: 30px;
    line-height: 1.08;
  }

  .hero-copy p,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero) .hero-copy p {
    font-size: 13px;
  }

  .round-icon {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }

  .footer-inner,
  .products-footer .footer-inner,
  .solutions-footer .footer-inner,
  .resources-footer .footer-inner,
  .about-footer .footer-inner,
  .contact-footer .footer-inner {
    column-gap: 10px;
    row-gap: 16px;
  }

  .footer-col a,
  .footer-brand p,
  .footer-newsletter p {
    font-size: 9px;
    line-height: 1.32;
  }

  .footer-col h3,
  .footer-newsletter h3 {
    font-size: 10px;
  }
}

/* Brand refresh: clean white base with natural greens and earth tones */

.dark-band,
.products-page-shell,
.solutions-nav-band,
.system-band,
.compare-band,
.use-cases-band,
.package-band,
.process-band,
.solutions-cta-band,
.resources-strip,
.case-band,
.story-band,
.journey-band,
.values-band,
.team-band,
.support-band,
.about-cta-band,
.contact-main-band,
.process-cta-band,
.contact-faq-band,
.map-band {
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(255, 254, 250, 0.98), rgba(245, 249, 239, 0.98)),
    linear-gradient(120deg, rgba(207, 230, 186, 0.18), rgba(239, 207, 118, 0.1));
}

.site-header.is-open .site-nav {
  background: rgba(253, 251, 246, 0.98);
}

.site-nav a,
.header-plan,
.hero-copy h1,
.hero-copy p,
.hero-feature strong,
.hero-feature span:last-child,
.products-hero .hero-copy p,
.solutions-hero .hero-copy p,
.resources-hero .hero-copy p,
.about-hero .hero-copy h1,
.about-hero-lead,
.about-hero-body,
.contact-hero .hero-copy p,
.solutions-hero-features span:last-child,
.about-hero-features .hero-feature span:last-child,
.contact-hero-features .hero-feature span:last-child {
  color: var(--text);
}

.about-hero .eyebrow {
  color: rgba(33, 49, 31, 0.66) !important;
}

.about-hero .hero-copy .about-hero-lead {
  color: var(--green-dark) !important;
}

.about-hero .hero-copy .about-hero-body,
.about-hero .hero-copy .about-hero-body strong,
.about-hero .hero-copy .about-hero-body span {
  color: var(--text) !important;
}

.hero::before,
.products-hero::before,
.solutions-hero::before,
.resources-hero::before,
.about-hero::before,
.contact-hero::before {
  background: linear-gradient(90deg, rgba(252, 248, 238, 0.96) 0%, rgba(248, 244, 230, 0.92) 32%, rgba(236, 244, 224, 0.68) 48%, rgba(255, 255, 255, 0.12) 68%, rgba(255, 255, 255, 0.02) 100%);
}

.hero-media::after {
  background: linear-gradient(90deg, rgba(251, 248, 239, 0.4), rgba(250, 252, 248, 0.08) 42%, rgba(255, 255, 255, 0));
}

.products-hero .hero-media,
.solutions-hero .hero-media,
.resources-hero .hero-media,
.about-hero .hero-media,
.contact-hero .hero-media {
  background-blend-mode: normal;
}

.btn-outline {
  border-color: rgba(95, 168, 60, 0.34);
  color: #23401c;
  background: rgba(255, 255, 255, 0.82);
}

.section-title-row h2,
.performance-panel h2,
.system-intro h2,
.compare-challenges h2,
.compare-advantage h2,
.package-heading h2,
.process-heading h2,
.solution-link-intro h2,
.library-header h2,
.story-copy h2,
.journey-intro h2,
.values-header h2,
.team-header h2,
.support-copy h2,
.contact-page-form h2,
.contact-faq-intro h2,
.map-copy h2,
.hub-copy h2,
.hub-subscribe h3,
.site-footer h3 {
  color: var(--text);
}

:is(
  .product-card,
  .catalog-card,
  .solution-link-card,
  .system-card,
  .compare-panel,
  .use-case-card,
  .package-card,
  .case-card,
  .team-card,
  .team-side,
  .story-side-card,
  .contact-page-form,
  .contact-info-card,
  .process-strip,
  .map-panel,
  .hub-panel,
  .about-cta-panel,
  .contact-card
) {
  border-color: rgba(102, 125, 83, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 243, 233, 0.98)),
    var(--panel);
  box-shadow: 0 18px 34px rgba(84, 96, 70, 0.08);
}

.product-card,
.catalog-card,
.solution-link-card,
.system-card,
.compare-panel,
.use-case-card,
.package-card,
.case-card,
.team-card,
.team-side,
.story-side-card,
.contact-page-form,
.contact-info-card,
.process-strip,
.map-panel,
.hub-panel,
.about-cta-panel,
.contact-card,
.catalog-description,
.catalog-secondary-link,
.catalog-tags span,
.resource-card strong,
.resource-card p,
.case-card strong,
.case-card p,
.story-copy p:not(.eyebrow),
.story-side-card p,
.journey-item span,
.value-card p,
.team-card p,
.team-side p,
.support-copy p,
.support-list article strong,
.support-list article span,
.contact-page-form > p,
.contact-info-card p,
.contact-info-card span,
.process-strip-intro p,
.process-strip-steps span,
.process-strip-steps p,
.process-strip-action span,
.map-copy p,
.hub-copy p,
.hub-subscribe p,
.hub-subscribe small {
  color: var(--text);
}

.product-card h3,
.product-card p,
.product-card li,
.product-card .model,
.catalog-copy h2,
.catalog-description,
.catalog-secondary-link,
.catalog-tags span,
.catalog-table th,
.catalog-table td,
.catalog-benefit strong,
.catalog-benefit span,
.solution-link-card strong,
.solution-link-card p,
.system-card strong,
.system-card span,
.compare-panel strong,
.compare-panel span,
.use-case-card h3,
.use-case-card p,
.package-card h3,
.package-card p:not(.eyebrow),
.process-card strong,
.process-card p,
.resources-feature-grid strong,
.resources-feature-grid span,
.case-card strong,
.case-card p,
.story-side-card h3,
.team-side h3,
.value-card strong,
.proof-stats strong,
.proof-stats span,
.team-card strong,
.support-list article strong,
.contact-info-card h3,
.contact-info-card strong,
.contact-info-card a,
.contact-faq-list .faq-item button,
.contact-faq-list .faq-answer p,
.hub-band .hub-copy h2,
.hub-band .hub-copy p,
.hub-band .hub-subscribe h3,
.hub-band .hub-subscribe p,
.hub-band .hub-subscribe small {
  color: var(--text) !important;
}

.catalog-card,
.product-card,
.system-card,
.package-card,
.case-card,
.team-card {
  background:
    radial-gradient(circle at 82% 18%, rgba(126, 182, 79, 0.12), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f6f1e6 100%);
}

.application-card {
  border-color: rgba(126, 144, 109, 0.22);
  background: #f4efe1;
  box-shadow: 0 14px 32px rgba(84, 96, 70, 0.08);
}

.application-card::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 34%, rgba(39, 58, 31, 0.18) 68%, rgba(34, 52, 28, 0.48) 100%);
}

.application-card strong {
  color: #ffffff;
}

.resource-card,
.faq-item {
  border-color: rgba(126, 144, 109, 0.18);
  background: #ffffff;
}

.resource-badge,
.proof-stats article,
.map-pin {
  background: linear-gradient(180deg, #44513f 0%, #2f3a2f 100%);
  color: #ffffff;
}

.proof-stats article {
  box-shadow: none;
}

.proof-stats article strong,
.proof-stats article span,
.map-pin {
  color: #ffffff !important;
}

.support-map,
.values-showcase,
.about-cta-panel,
.contact-card,
.hub-panel {
  border: 1px solid rgba(102, 125, 83, 0.16);
}

.contact-card p {
  color: var(--text) !important;
}

.contact-card .btn.btn-primary {
  color: #13210f;
}

.contact-page-form input,
.contact-page-form select,
.contact-page-form textarea,
.hub-form input,
.footer-newsletter input {
  border-color: rgba(126, 144, 109, 0.22);
  color: var(--text);
  background: rgba(255, 255, 255, 0.9);
}

.contact-page-form label,
.contact-form-grid label,
.upload-box strong,
.upload-notes strong,
.agree-row,
.form-cta-row span,
.hub-subscribe small {
  color: var(--muted);
}

.upload-drop {
  border-color: rgba(126, 144, 109, 0.26);
  color: var(--muted);
  background:
    radial-gradient(circle at 50% 34%, rgba(126, 182, 79, 0.08), transparent 32%),
    rgba(250, 248, 241, 0.82);
}

.contact-faq-band {
  background:
    linear-gradient(180deg, rgba(255, 254, 250, 0.98), rgba(245, 249, 239, 0.98)),
    linear-gradient(120deg, rgba(207, 230, 186, 0.18), rgba(239, 207, 118, 0.1));
}

.contact-faq-intro .eyebrow::after,
.contact-faq-list,
.contact-faq-list .faq-item {
  border-color: rgba(126, 144, 109, 0.24);
}

.contact-faq-list .faq-item {
  background: transparent;
}

.contact-faq-list .faq-item button::after {
  border-color: rgba(63, 119, 37, 0.88);
}

.dark-band.solutions-nav-band {
  background:
    linear-gradient(180deg, rgba(248, 244, 235, 0.98), rgba(239, 244, 234, 0.98)),
    linear-gradient(120deg, rgba(208, 223, 201, 0.42), rgba(232, 218, 177, 0.28));
  border-color: rgba(126, 144, 109, 0.18);
}

.solution-link-card::after,
.support-list article::before,
.contact-info-card::before,
.round-icon,
.solution-link-icon,
.process-strip-steps strong,
.contact-faq-intro .plain-link,
.resource-card a,
.case-card a,
.package-card a,
.catalog-model-line,
.catalog-label,
.catalog-bubble,
.system-summary {
  color: var(--green-dark);
}

.solution-link-card::after {
  background: linear-gradient(90deg, rgba(95, 168, 60, 0.7), rgba(95, 168, 60, 0));
}

.catalog-tags span,
.resource-tabs span,
.faq-item button,
.faq-answer p {
  color: var(--text);
}

.resource-tabs .is-active {
  border-color: rgba(95, 168, 60, 0.32);
  background: #f4f8ef;
}

.site-footer {
  background:
    linear-gradient(180deg, rgba(251, 248, 241, 0.98), rgba(234, 241, 225, 0.98)),
    #eef4e8;
}

.footer-brand p,
.footer-col a,
.footer-newsletter p,
.footer-bottom p,
.footer-bottom a {
  color: rgba(70, 86, 63, 0.92);
}

.footer-newsletter button,
.hub-form button {
  color: #13210f;
}

@media (max-width: 800px) {
  .hero::before,
  :is(.products-hero, .solutions-hero, .resources-hero, .about-hero, .contact-hero)::before {
    background: linear-gradient(180deg, rgba(251, 248, 240, 0.9), rgba(243, 248, 235, 0.84));
  }

  .site-header.is-open .site-nav {
    box-shadow: 0 14px 36px rgba(84, 96, 70, 0.08);
  }
}
