/* ==========================================================================
   AgroNexis brand layer for the Aior theme.
   Loaded AFTER the theme's style.css. The theme exposes every colour as a
   CSS custom property, so recolouring happens here, not in theme code.

   HAND-MAINTAINED. No script regenerates this file.
   ========================================================================== */

:root {
  --theme-color   : #3C8548;  /* wordmark green     — primary */
  --theme-color2  : #8AC553;  /* emblem light green — accent */
  --brand-blue    : #2356B2;  /* wordmark blue      — data / instruments */
  --brand-deep    : #124744;  /* emblem deep green */
  --title-color   : #07130F;
  --body-color    : #4A5A4E;
  --black-color   : #06100C;
  --black-color2  : #0A1712;
  --smoke-color2  : #F4F7F2;
  --smoke-color4  : #E9F2E7;
  --th-border-color: #DFE7DC;
}

.counter-number, .box-number { font-feature-settings: "tnum" 1; }
.project-card .discount { color: #2C6836; }

.header-logo img,
.footer-widget .th-widget-about .about-logo img,
.about-logo img { max-height: 46px; width: auto; }
.mobile-logo img { max-height: 40px; width: auto; }
.sidemenu-wrapper .about-logo img { max-height: 42px; width: auto; }

.breadcumb-wrapper { background-color: #08120E; }

/* ==========================================================================
   Inner-page components
   ========================================================================== */

.th-lead { font-size: 20px; line-height: 1.6; color: var(--title-color); margin-bottom: 32px; }

.th-h2 {
  font-family: var(--title-font); font-size: 30px; line-height: 1.25;
  color: var(--title-color); margin: 48px 0 18px;
}
.th-h2.mt-0 { margin-top: 0; }

.th-note {
  border-left: 3px solid var(--brand-blue);
  background: var(--smoke-color2);
  padding: 16px 20px; border-radius: 0 8px 8px 0;
  font-size: 15px; color: var(--body-color); margin: 24px 0;
}

.th-points { list-style: none; padding: 0; margin: 22px 0; }
.th-points li { position: relative; padding-left: 26px; margin-bottom: 12px; color: var(--body-color); }
.th-points li::before {
  content: ""; position: absolute; left: 0; top: 11px;
  width: 8px; height: 8px; border-radius: 2px; background: var(--theme-color2);
}

.th-figure {
  border-radius: 16px; overflow: hidden;
  border: 1px solid var(--th-border-color); background: var(--smoke-color2);
}
.th-figure img { width: 100%; height: auto; display: block; }
.th-figure--wide { max-width: 1100px; margin: 0 auto; }

.th-status {
  display: inline-block; font-family: var(--title-font); font-size: 12px;
  letter-spacing: .1em; text-transform: uppercase; padding: 6px 14px; border-radius: 999px;
}
.th-status--available { background: var(--theme-color); color: #fff; }
.th-status--planned { background: transparent; color: #2C6836; border: 1px solid var(--theme-color); }
.th-tag { font-family: var(--title-font); font-size: 14px; color: var(--brand-blue); margin-bottom: 18px; }

.th-spec { width: 100%; border-collapse: collapse; margin: 26px 0; }
.th-spec th, .th-spec td {
  text-align: left; padding: 12px 16px 12px 0;
  border-bottom: 1px solid var(--th-border-color); vertical-align: top; font-size: 15px;
}
.th-spec th { width: 38%; font-weight: 500; color: var(--title-color); }
.th-spec td { color: var(--body-color); font-family: monospace; font-size: 14px; }

.th-pillar, .th-feature {
  height: 100%; background: #fff; border: 1px solid var(--th-border-color);
  border-radius: 16px; padding: 34px 30px;
  transition: border-color .25s ease, transform .25s ease;
}
.th-pillar:hover, .th-feature:hover { border-color: var(--theme-color); transform: translateY(-4px); }
.th-pillar__num {
  display: inline-block; font-family: monospace; font-size: 12px;
  letter-spacing: .12em; text-transform: uppercase; color: var(--brand-blue); margin-bottom: 14px;
}
.th-pillar .box-title a:hover { color: var(--theme-color); }

.th-link {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--title-font); font-weight: 500; color: #2C6836; margin-top: 16px;
}
.th-link .icon img { width: 14px; }
.th-link:hover { color: var(--theme-color); }

.th-aside {
  background: var(--smoke-color2); border: 1px solid var(--th-border-color);
  border-radius: 16px; padding: 30px; position: sticky; top: 110px;
}
.th-aside__list { list-style: none; padding: 0; margin: 0 0 26px; }
.th-aside__list li { position: relative; padding-left: 20px; margin-bottom: 11px; color: var(--body-color); }
.th-aside__list li::before {
  content: ""; position: absolute; left: 0; top: 10px;
  width: 7px; height: 7px; border-radius: 50%; background: var(--theme-color);
}
.th-aside__list a:hover { color: var(--theme-color); }

.th-contact-list { list-style: none; padding: 0; margin: 0; }
.th-contact-list li { padding: 14px 0; border-bottom: 1px solid var(--th-border-color); color: var(--title-color); }
.th-contact-list li:last-child { border-bottom: 0; }
.th-contact-list span {
  display: block; font-family: monospace; font-size: 11px; letter-spacing: .12em;
  text-transform: uppercase; color: var(--body-color); margin-bottom: 4px;
}
.th-contact-list a:hover { color: var(--theme-color); }

.th-roles { border-top: 1px solid var(--th-border-color); }
.th-role {
  display: grid; gap: 8px 24px; padding: 26px 0;
  border-bottom: 1px solid var(--th-border-color); align-items: center;
}
@media (min-width: 992px) { .th-role { grid-template-columns: 1fr 150px 150px 110px; } }
.th-role p { margin: 6px 0 0; font-size: 15px; }
.th-role__meta {
  font-family: monospace; font-size: 12px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--brand-blue);
}

.th-validation-table table { border-collapse: collapse; }
.th-validation-table th, .th-validation-table td {
  padding: 16px 18px; border-bottom: 1px solid var(--th-border-color);
  text-align: left; vertical-align: top;
}
.th-validation-table thead th {
  font-family: var(--title-font); font-size: 14px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--title-color);
  border-bottom: 2px solid var(--theme-color); white-space: nowrap;
}
.th-validation-table .th-empty { padding: 40px 24px; color: var(--body-color); }

.cta-box { padding: 20px 0; }
.cta-box .sec-title { margin-bottom: 16px; }
.btn-group { display: flex; flex-wrap: wrap; gap: 14px; }

/* The theme's .sec-text is a light-on-dark utility; these are ours, scoped so
   the theme's own paragraph rules cannot win on specificity. */
.title-area .th-sec-text {
  color: var(--body-color); font-size: 17px; max-width: 66ch; margin: 18px auto 0;
}
.title-area:not(.text-center) .th-sec-text { margin-left: 0; }

.cta-box .text-white-70,
section .cta-box p.text-white-70 { color: rgba(255, 255, 255, .78); }
.cta-box .sec-title.text-white,
section .cta-box h2.sec-title.text-white { color: #fff; }

/* Long compound words were overflowing the narrow hero column */
.hero-style1 .hero-title, .hero-1 .hero-title {
  hyphens: auto; overflow-wrap: break-word; word-break: normal;
}

[data-placeholder] { outline: 1px dashed rgba(35, 86, 178, .5); outline-offset: 8px; }

/* Links inside the mist-toned panels sit at 4.19:1 in the theme's default
   link colour; darkened to clear AA. */
.th-aside__list a,
.th-contact-list a { color: #2C6836; }
.th-aside__list a:hover,
.th-contact-list a:hover { color: var(--theme-color); }

/* Hero visual replaces the theme's stock video */
.hero-video img { width: 100%; height: auto; border-radius: 24px; display: block; }

/* Hero right column: fill the column so no white gap is left below the visual */
@media (min-width: 1200px) {
  .th-hero-wrapper .hero-video { height: 100%; }
  .th-hero-wrapper .hero-video img { height: 100%; object-fit: cover; object-position: top center; }
}
