:root {
  --page-gutter: clamp(18px, 4vw, 56px);
  --ink: #10231b;
  --muted: #5f6862;
  --paper: #f4f7f1;
  --surface: #ffffff;
  --line: #d6dfd3;
  --gold: #b57935;
  --green: #204f3a;
  --green-deep: #0f2f24;
  --blue: #245f78;
  --coral: #b85d45;
  --shadow: 0 18px 46px rgba(21, 43, 33, 0.12);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 0;
}

body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
}

a {
  color: inherit;
}

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

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 80px;
  padding: 6px var(--page-gutter) 6px 0;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}

.brand {
  width: min(176px, 50vw);
  flex: 0 0 auto;
}

.brand img {
  width: 100%;
  height: auto;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 8px;
}

.site-nav a,
.nav-link {
  padding: 10px 14px;
  border-radius: 4px;
  color: #1f2f28;
  font-size: 0.96rem;
  text-decoration: none;
}

.site-nav a:hover,
.site-nav a[aria-current="page"],
.has-dropdown:hover .nav-link,
.has-dropdown:focus-within .nav-link {
  background: #e7efe6;
  color: var(--green);
}

.nav-item {
  position: relative;
}

.nav-link {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
}

.nav-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 40;
  display: none;
  min-width: 210px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(21, 43, 33, 0.16);
}

.nav-dropdown::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 10px;
}

.has-dropdown:hover .nav-dropdown,
.has-dropdown:focus-within .nav-dropdown {
  display: grid;
  gap: 4px;
}

.nav-dropdown a {
  display: block;
  padding: 10px 12px;
  white-space: nowrap;
}

.nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--surface);
  cursor: pointer;
}

.nav-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  margin: 5px auto;
  background: var(--ink);
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  padding: clamp(34px, 5vw, 68px) var(--page-gutter) clamp(34px, 5vw, 62px);
  background: var(--green-deep);
  color: white;
}

.hero-copy {
  max-width: 720px;
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--gold);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  overflow-wrap: anywhere;
}

h1,
h2,
h3 {
  margin: 0;
  line-height: 1.1;
}

h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.3rem, 4.8vw, 4.6rem);
  font-weight: 500;
}

.hero-line {
  margin: 12px 0 0;
  font-size: clamp(1.1rem, 1.8vw, 1.6rem);
  color: #dce9df;
}

.hero-offering-list {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}

.hero-offering-summary {
  padding: 16px 20px 8px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-left: 3px solid #dfb477;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.04);
}

.hero-offering-retention {
  border-left-color: #97c9d8;
}

.hero-offering-summary h2 {
  color: #f0c68b;
  font-size: clamp(1.3rem, 1.9vw, 1.7rem);
  font-weight: 700;
  line-height: 1.2;
}

.hero-offering-summary p {
  margin: 10px 0 0;
  color: #d8e5dd;
  font-size: 1rem;
  line-height: 1.5;
}

.hero-capabilities {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
}

.hero-capabilities li {
  padding: 4px 9px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 4px;
  color: #edf5ef;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
}

.hero-offering-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin-top: 4px;
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.hero-text {
  max-width: 640px;
  margin: 16px 0 0;
  color: #c7d8cf;
  font-size: 1.06rem;
}

.hero-actions,
.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 18px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.button.primary {
  background: var(--gold);
  border-color: var(--gold);
  color: white;
}

.button.secondary {
  background: transparent;
  color: var(--ink);
}

.hero .button.secondary {
  color: white;
  border-color: rgba(255, 255, 255, 0.64);
}

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

.hero-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.hero-highlights span {
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
  color: #edf5ef;
  font-size: 0.92rem;
  font-weight: 700;
}

.hero-mark {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
  background: #f9fbf6;
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.28);
}

.hero-mark img {
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
}

.section {
  padding: clamp(34px, 5vw, 58px) var(--page-gutter);
}

.intro {
  display: grid;
  grid-template-columns: minmax(240px, 0.65fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 72px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #ffffff;
}

.section-heading h2 {
  max-width: 680px;
  font-size: clamp(1.55rem, 2.6vw, 2.45rem);
  font-weight: 500;
}

.intro > p {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
  font-size: 1.12rem;
}

.about-content {
  display: grid;
  grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 60px);
  background: #ffffff;
}

.about-copy {
  display: grid;
  gap: 14px;
  max-width: 820px;
  color: var(--muted);
  font-size: 1.06rem;
}

.about-copy p {
  margin: 0;
}

.offerings {
  background: #edf4eb;
  min-height: calc(100vh - 120px);
  padding-top: 56px;
  padding-bottom: 120px;
  scroll-margin-top: 80px;
}

.offering-grid,
.sales-grid,
.contact-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.offering-card,
.sales-card,
.contact-panel {
  min-height: 100%;
  padding: clamp(20px, 2.5vw, 28px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.offering-card {
  position: relative;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.offering-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 6px;
  background: var(--green);
}

.offering-card.it::before {
  background: var(--blue);
}

.offering-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 58px rgba(21, 43, 33, 0.16);
}

.card-icon {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  border-radius: 50%;
  background: #dcecdf;
  color: var(--green);
  font-weight: 800;
}

.it .card-icon {
  background: #dbeef4;
  color: var(--blue);
}

.offering-card h3,
.sales-card h2,
.contact-panel h2,
.fit-list h3 {
  font-size: clamp(1.18rem, 1.6vw, 1.45rem);
}

.offering-card p,
.sales-card p,
.contact-panel p,
.fit-list p {
  color: var(--muted);
}

.offering-card ul {
  margin: 20px 0 0;
  padding-left: 20px;
}

.offering-card li::marker {
  color: var(--gold);
}

.offer-link {
  margin-top: 18px;
}

.service-hero {
  background: linear-gradient(120deg, #ffffff 0%, #f2f8f1 100%);
}

.it-hero {
  background: linear-gradient(120deg, #ffffff 0%, #eef7fa 100%);
}

.service-detail {
  background: #ffffff;
}

.capability-grid,
.process-steps,
.showcase-grid {
  display: grid;
  gap: 18px;
  margin-top: 22px;
}

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

.capability-card,
.process-steps > div {
  min-height: 100%;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdf9;
}

.capability-card h3,
.process-steps h3,
.showcase-copy h3 {
  font-size: clamp(1.05rem, 1.3vw, 1.25rem);
}

.capability-card p,
.process-steps p,
.showcase-copy li {
  color: var(--muted);
}

.process-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.process-steps span {
  display: inline-flex;
  margin-bottom: 14px;
  color: var(--gold);
  font-weight: 800;
}

.dashboard-showcase {
  background: #edf4eb;
}

.product-flow {
  background: #ffffff;
}

.data-selector-showcase {
  background: #edf4eb;
}

.selector-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.selector-card {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--muted);
  font-weight: 800;
}

.selector-card.checked {
  border-color: rgba(32, 79, 58, 0.35);
  background: #f7fbf4;
  color: var(--green);
}

.selector-card.checked::before {
  content: "Selected";
  display: block;
  margin-bottom: 4px;
  color: var(--gold);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.selector-note {
  max-width: 860px;
  margin: 18px 0 0;
  color: var(--muted);
}

.service-bundles {
  background: #ffffff;
}

.service-bundle-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}

.service-bundle-grid article {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdf9;
  box-shadow: var(--shadow);
}

.service-bundle-grid span {
  color: var(--gold);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.service-bundle-grid h3 {
  font-size: clamp(1.08rem, 1.4vw, 1.28rem);
}

.service-bundle-grid p {
  margin: 0;
  color: var(--muted);
}

.service-bundle-grid strong {
  color: var(--green);
  font-size: 0.95rem;
}

.success-hero {
  background: #f7fbf4;
}

.confidentiality-note {
  padding-top: 22px;
  padding-bottom: 22px;
  background: #ffffff;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.confidentiality-note p {
  max-width: 1120px;
  margin: 0;
  padding: 16px 18px;
  border-left: 4px solid var(--gold);
  background: #fbf7ef;
  color: var(--muted);
}

.story-section {
  scroll-margin-top: 90px;
}

.it-story-section {
  background: #eef7fa;
}

.agro-story-section {
  background: #edf4eb;
}

.story-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.story-card {
  display: grid;
  gap: 12px;
  align-content: start;
  min-height: 100%;
  padding: clamp(20px, 2.4vw, 30px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.story-card span {
  color: var(--gold);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.story-card h3 {
  font-size: clamp(1.18rem, 1.8vw, 1.55rem);
}

.story-card p {
  margin: 0;
  color: var(--muted);
}

.story-card strong {
  display: block;
  margin-top: 4px;
  color: var(--green);
}

.featured-story {
  border-top: 6px solid var(--blue);
}

.featured-story.agro-accent {
  border-top-color: var(--green);
}

.showcase-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.8fr);
  align-items: center;
}

.dashboard-frame {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.dashboard-frame img {
  width: 100%;
  height: auto;
}

.showcase-copy {
  padding: clamp(20px, 3vw, 32px);
  border-left: 4px solid var(--blue);
  background: #ffffff;
}

.showcase-copy ul {
  margin: 18px 0 0;
  padding-left: 20px;
}

.showcase-copy li::marker {
  color: var(--gold);
}

.contact-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: var(--blue);
  color: white;
}

.contact-band h2 {
  max-width: 760px;
  font-size: clamp(1.45rem, 2.5vw, 2.25rem);
  font-weight: 500;
}

.contact-band .eyebrow,
.contact-band p {
  color: #d7c8b2;
}

.contact-band .button.primary {
  background: white;
  color: var(--blue);
  border-color: white;
}

.contact-band .button.secondary {
  color: white;
  border-color: #cbbba4;
}

.page-hero {
  padding: clamp(30px, 5vw, 56px) var(--page-gutter);
  background: #ffffff;
  border-bottom: 1px solid var(--line);
}

.page-hero h1 {
  max-width: 900px;
  font-size: clamp(2rem, 3.8vw, 3.6rem);
}

.page-hero p:not(.eyebrow) {
  max-width: 700px;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 1.12rem;
}

.sales-hero {
  background: #eef6f7;
}

.contact-layout {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.contact-panel a,
.detail-link {
  display: inline-block;
  margin-top: 8px;
  color: var(--blue);
  font-weight: 800;
  text-decoration: none;
}

.contact-panel a + a {
  margin-left: 14px;
}

.form-section {
  background: #edf4eb;
}

.contact-form {
  display: grid;
  max-width: 680px;
  gap: 12px;
  margin-top: 22px;
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.contact-form label {
  display: grid;
  gap: 6px;
  color: #37332e;
  font-weight: 700;
}

.contact-form .form-field {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 10px 12px;
  background: #fbfdf9;
  color: var(--ink);
  font: inherit;
}

.contact-form textarea {
  min-height: 132px;
  resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  outline: 3px solid rgba(36, 95, 120, 0.16);
  border-color: var(--blue);
}

.phone-fields {
  display: grid;
  grid-template-columns: minmax(130px, 0.34fr) minmax(0, 1fr);
  gap: 10px;
}

.field-note {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 400;
}

.contact-form.was-submitted textarea:invalid,
.contact-form.was-submitted input:invalid,
.contact-form.was-submitted select:invalid {
  border-color: #b57461;
}

.hidden-field {
  display: none;
}

.compact-hero {
  min-height: calc(100vh - 190px);
}

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

.service-fit {
  background: #ffffff;
  border-top: 1px solid var(--line);
}

.fit-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.fit-list > div {
  padding: 26px;
  border-left: 4px solid var(--gold);
  background: #f3f8ef;
}

.site-footer {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(260px, 1.2fr);
  gap: 22px;
  padding: 26px var(--page-gutter);
  background: #0d1f18;
  color: white;
}

.site-footer p {
  margin: 8px 0 0;
  color: #c9c1b7;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px 16px;
}

.footer-links a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: white;
  text-decoration: none;
}

.footer-links a:hover {
  color: #d7c8b2;
}

.social-link {
  line-height: 1;
}

.social-mark {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  color: white;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0;
}

.linkedin-mark {
  background: #0a66c2;
}

.instagram-mark {
  background: linear-gradient(135deg, #f58529, #dd2a7b 48%, #8134af);
}

.x-mark {
  background: #111;
}

.copyright {
  grid-column: 1 / -1;
  font-size: 0.9rem;
}

@media (max-width: 880px) {
  .site-header {
    align-items: center;
  }

  .nav-toggle {
    display: block;
    flex: 0 0 auto;
  }

  .site-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 12px 20px 18px;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
  }

  .site-nav.open {
    display: flex;
  }

  .site-nav a {
    padding: 12px 10px;
  }

  .nav-item {
    width: 100%;
  }

  .nav-link {
    width: 100%;
    min-height: auto;
    padding: 12px 10px;
  }

  .nav-dropdown {
    position: static;
    display: grid;
    min-width: 0;
    margin: 0 0 4px 14px;
    padding: 4px 0 4px 10px;
    border: 0;
    border-left: 2px solid var(--line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .nav-dropdown::before {
    display: none;
  }

  .hero,
  .intro,
  .about-content,
  .contact-band,
  .contact-layout,
  .sales-grid,
  .fit-list,
  .capability-grid,
  .process-steps,
  .showcase-grid,
  .selector-grid,
  .service-bundle-grid,
  .story-grid {
    grid-template-columns: 1fr;
  }

  .hero {
    padding-top: 32px;
  }

  .hero-mark img {
    min-height: 190px;
  }

  .contact-band {
    display: grid;
  }

  .footer-links {
    justify-content: flex-start;
  }

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

@media (max-width: 640px) {
  .site-header {
    min-height: 64px;
    padding-inline: 0 var(--page-gutter);
  }

  .brand {
    width: min(144px, 50vw);
  }

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

  h1 {
    font-size: clamp(2rem, 11vw, 3rem);
  }

  .button {
    width: 100%;
  }

  .contact-panel a + a {
    display: block;
    margin-left: 0;
  }

  .phone-fields {
    grid-template-columns: 1fr;
  }
}

/* Homepage introduction and engagement steps. */
.home-hero {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .85fr);
  gap: 40px;
  padding-block: 32px;
}
.home-hero .hero-copy { max-width: none; }
.home-hero .eyebrow { margin-bottom: 10px; }
.home-hero h1 { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.12; }
.home-hero .hero-offering-list { gap: 16px; margin-top: 20px; }
.home-hero .hero-offering-summary { padding: 18px 22px 10px; }
.home-hero .hero-offering-summary h2 { font-size: 1.3rem; }
.home-hero .hero-capabilities { gap: 8px; margin-top: 12px; }
.home-hero .hero-capabilities li { padding: 4px 9px; }
.home-hero .hero-offering-summary p { margin-top: 12px; font-size: .9375rem; line-height: 1.5; }
.home-hero .hero-offering-link { margin-top: 8px; font-size: .9375rem; }
.home-hero .hero-mark { width: 100%; max-width: 480px; justify-self: end; }
.home-process {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(0, 3.2fr);
  align-items: center;
  gap: 24px;
  padding-block: 28px;
}
.home-process .section-heading .eyebrow { margin-bottom: 6px; font-size: .75rem; }
.home-process .section-heading h2 { font-size: 1.4rem; line-height: 1.2; }
.home-process .engagement-steps { gap: 12px; margin-top: 0; }
.home-process .engagement-steps > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: start;
  gap: 8px;
  padding: 18px;
}
.home-process .engagement-steps span { margin: 0; line-height: 1.3; font-size: .8rem; }
.home-process .engagement-steps h3 { font-size: 1rem; line-height: 1.3; }
.home-process .engagement-steps p { grid-column: 1 / -1; margin: 0; font-size: .9rem; line-height: 1.45; }
.home-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  padding-block: 24px;
}
.home-contact h2 { max-width: none; }
.home-contact .contact-actions { margin-top: 0; flex-wrap: nowrap; }
@media (max-width: 1399px) {
  .home-contact { grid-template-columns: 1fr; gap: 16px; }
  .home-contact .contact-actions { justify-self: start; }
}
@media (max-width: 1099px) {
  .home-process { grid-template-columns: 1fr; gap: 14px; }
  .home-process .section-heading h2 { max-width: none; }
}
@media (max-width: 880px) {
  .home-hero { grid-template-columns: 1fr; gap: 20px; }
  .home-hero .hero-mark { max-width: 300px; justify-self: center; }
  .home-process .engagement-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .home-hero { padding-block: 22px; }
  .home-hero .hero-offering-summary { padding-inline: 16px; }
  .home-process .engagement-steps { grid-template-columns: 1fr; gap: 8px; }
  .home-process .engagement-steps > div { padding: 12px 14px; }
}
@media (max-width: 640px) {
  .home-contact .contact-actions { width: 100%; flex-wrap: wrap; }
}

/* Shared readability and navigation improvements. */
:root { --gold: #956127; }
html { scroll-padding-top: 96px; }
:focus-visible { outline: 3px solid #28779c; outline-offset: 4px; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 12px 18px; background: #fff; color: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.eyebrow { font-size: 0.875rem; letter-spacing: 0.1em; }
.hero .eyebrow { color: #dfb477; }
.hero-mark img { min-height: 0; height: auto; object-fit: contain; }
.offerings { min-height: 0; padding-block: clamp(34px, 5vw, 58px); scroll-margin-top: 120px; }
.section-lead { max-width: 960px; font-size: 1.1rem; color: var(--muted); }
.product-intro { background: transparent; grid-template-columns: 1fr 1fr; padding-top: 22px; }
.product-intro p { margin-top: 0; color: var(--muted); font-size: 1.08rem; }
.benefit-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 20px; }
.benefit-list li { padding-left: 20px; border-left: 3px solid var(--gold); }
.benefit-list strong, .benefit-list span { display: block; }
.benefit-list span { margin-top: 4px; color: var(--muted); }
.pathway { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; list-style: none; padding: 0; margin: 24px 0 0; counter-reset: stages; }
.pathway li { padding: 22px; border-top: 3px solid var(--green); background: #f2f7ef; counter-increment: stages; }
.pathway li::before { content: counter(stages,decimal-leading-zero); display: block; color: var(--gold); font-weight: 700; margin-bottom: 12px; }
.pathway strong, .pathway span { display: block; }
.pathway span { margin-top: 8px; color: var(--muted); }
.service-number { display: block; margin-bottom: 18px; color: var(--blue); font-weight: 700; }
.product-pillars .capability-card { border-top: 4px solid var(--blue); background: white; }
.contact-form .field-note { margin: 0; }
.contact-form textarea:invalid:not(:placeholder-shown) { box-shadow: none; }
@media (max-width: 880px) {
  .product-intro { grid-template-columns: 1fr; }
  .pathway { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html { scroll-padding-top: 88px; }
}
@media (max-width: 480px) { .pathway { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
  .button:hover, .offering-card:hover { transform: none; }
}

/* Heal Desk customer-facing cycle, pitch and selected product views. */
.heal-showcase { background:#eef4f2; }
.heal-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:clamp(24px,4vw,60px); align-items:center; margin:36px 0; }
.heal-cycle { position:relative; width:100%; max-width:560px; aspect-ratio:520/350; margin-inline:auto; }
.cycle-arrows { position:absolute; inset:0; width:100%; height:100%; color:#438278; }
.cycle-node { position:absolute; width:39%; padding:15px 8px; border:1px solid #c5d7d1; background:#fff; border-radius:12px; box-shadow:0 8px 24px #153e2d0b; text-align:center; text-decoration:none; line-height:1.35; }
.cycle-node:hover { border-color:var(--green); }
.cycle-node span,.cycle-node strong,.cycle-node small { display:block; }
.cycle-node span { font-size:.875rem; color:var(--green); }
.cycle-node strong { font-size:1.45rem; margin:5px 0; }
.cycle-node small { font-size:.875rem; color:var(--muted); }
.cycle-audit { top:0; left:30.5%; border-top:4px solid var(--gold); }
.cycle-survey { bottom:1%; right:0; border-top:4px solid var(--blue); }
.cycle-retention { bottom:1%; left:0; border-top:4px solid var(--green); }
.cycle-centre { position:absolute; top:43%; left:35%; width:30%; text-align:center; line-height:1.4; }
.cycle-centre strong { display:block; color:var(--green); font-size:1.25rem; }
.cycle-centre span { display:block; color:var(--muted); font-size:.875rem; margin-top:6px; }
.heal-video { min-width:0; }
.heal-video h3 { margin:0 0 14px; font-size:1.4rem; }
.heal-video video { display:block; width:100%; height:auto; aspect-ratio:16/9; background:#091411; border:1px solid #315046; border-radius:10px; }
.heal-video .eyebrow { margin:0 0 6px; }
.heal-screens-heading { margin-top:48px; }
.heal-screens-heading h3 { font-size:1.7rem; margin:0 0 8px; }
.heal-screens-heading p { color:var(--muted); max-width:850px; }
.heal-preview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:24px; }
.heal-preview { display:flex; flex-direction:column; min-width:0; gap:18px; padding:20px; background:#fff; border:1px solid #d4e1dc; border-radius:12px; scroll-margin-top:140px; }
.heal-preview h3 { font-size:1.18rem; line-height:1.35; margin:0 0 12px; }
.heal-preview .eyebrow { margin:0 0 10px; }
.heal-preview .screen-link { margin-top:auto; }
.heal-preview-copy>p:last-child { margin:0; color:var(--muted); }
.screen-link { display:block; position:relative; min-width:0; text-decoration:none; }
.screen-link img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; border:1px solid #dce4e2; border-radius:6px; }
.screen-enlarge { position:absolute; right:8px; bottom:8px; display:grid; place-items:center; width:40px; height:40px; border:1px solid #dce4e2; border-radius:50%; background:#fff; color:var(--green); box-shadow:0 2px 8px #0c2d2026; }
.screen-link:hover .screen-enlarge,.screen-link:focus-visible .screen-enlarge { color:#fff; background:var(--green); }
.screenshot-dialog { width:min(1540px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; border:1px solid #ceded5; border-radius:12px; background:#eef4f2; color:var(--ink); overflow:hidden; }
.screenshot-dialog[open] { display:flex; flex-direction:column; }
.screenshot-dialog::backdrop { background:rgba(8,29,20,.8); }
.screenshot-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-bottom:1px solid #d4e1dc; background:#fff; }
.screenshot-dialog-header h2 { font-size:1.05rem; line-height:1.3; }
.screenshot-dialog-header>div { display:flex; gap:8px; flex-shrink:0; }
.screenshot-dialog-header button { min-height:44px; padding:8px 12px; border:1px solid #c3d2c9; border-radius:5px; background:#fff; color:var(--green); font:inherit; font-size:.85rem; font-weight:700; cursor:pointer; }
.screenshot-dialog-stage { min-height:0; padding:12px; overflow:auto; overscroll-behavior:contain; }
.screenshot-dialog-stage img { display:block; width:100%; height:auto; max-height:calc(100dvh - 134px); object-fit:contain; }
.screenshot-dialog-stage.is-zoomed img { width:1920px; max-width:none; max-height:none; }
body.screenshot-modal-open { overflow:hidden; }
@media(max-width:480px) { .screenshot-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); } .screenshot-dialog-header { padding:8px; gap:8px; } .screenshot-dialog-header h2 { font-size:.95rem; } .screenshot-dialog-header button { padding:8px; } .screenshot-dialog-stage { padding:6px; } }
@media(max-width:880px) { .heal-story { grid-template-columns:1fr; } .heal-cycle { max-width:500px; }  }
@media(max-width:700px) { .heal-preview-grid { grid-template-columns:1fr; } }
@media(max-width:480px) { .cycle-node { padding:10px 4px; } .cycle-node strong { font-size:1.2rem; } .cycle-node small { display:none; } .cycle-centre { top:39%; } .cycle-centre strong { font-size:1.1rem; } .heal-preview { padding:20px; } }

/* Compact IT introduction with the pitch alongside the main message. */
.page-hero.it-hero {
  padding:clamp(30px,3.5vw,48px) var(--page-gutter);
  background:linear-gradient(110deg,#e8f1eb 0%,#f2f6ee 54%,#e3eef0 100%);
  border-bottom:1px solid #cbdcd1;
}
.it-hero-layout { display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.8fr);align-items:center;gap:clamp(28px,4vw,64px); }
.it-hero-copy { min-width:0; }
.page-hero.it-hero h1 { max-width:23ch;font-size:clamp(2.1rem,3.2vw,3.2rem);line-height:1.1;margin:10px 0 18px; }
.page-hero.it-hero .it-hero-copy>p:not(.eyebrow) { max-width:62ch;font-size:1.05rem;line-height:1.6;margin:0; }
.it-hero-copy .hero-actions { margin-top:24px;gap:12px; }
.it-hero-video { width:100%;max-width:440px;justify-self:end;background:#fff;padding:20px;border:1px solid #c6d8ce;border-top:3px solid var(--gold);border-radius:12px;box-shadow:0 14px 34px #173b2920; }
.page-hero.it-hero .it-hero-video h2 { font-family:Arial,Helvetica,sans-serif;font-size:1.3rem;margin:5px 0 14px;line-height:1.25; }
.page-hero.it-hero .it-hero-video .eyebrow { font-size:.75rem; }
.it-hero-video video { border-radius:6px; }
.it-services-summary { margin:26px 0 0; }
.it-services-summary h2 { font-family:Arial,Helvetica,sans-serif;font-size:.8rem;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:0 0 12px; }
.it-services-grid { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px; }
.it-service-card { min-width:0;padding:14px;background:#ffffffd9;border:1px solid #cbdcd1;border-top:3px solid var(--green);border-radius:8px; }
.it-service-card:nth-child(3n+1) { border-top-color:var(--gold); }
.it-service-card:nth-child(3n+2) { border-top-color:var(--blue); }
.it-service-card h3 { font-size:.95rem;line-height:1.35;margin:0 0 8px; }
.page-hero.it-hero .it-service-card p { font-size:.875rem;line-height:1.45;color:var(--muted);margin:0; }
@media(max-width:1000px) { .it-services-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:680px) { .it-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:360px) { .it-services-grid { grid-template-columns:1fr; } }
.it-heal-overview { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,68px);align-items:center; }
.it-heal-overview .heal-cycle { max-width:480px; }
.it-heal-overview .section-lead { margin-bottom:0; }
@media(max-width:880px) {
 .it-hero-layout {grid-template-columns:minmax(0,1.1fr) minmax(280px,.85fr);gap:24px;}
 .page-hero.it-hero h1 {font-size:2.15rem;}
 .it-hero-copy .hero-actions {align-items:stretch;flex-direction:column;max-width:290px;}
 .it-hero-video {padding:16px;}
 .it-heal-overview {grid-template-columns:1fr;gap:24px;}
}
@media(max-width:680px) {
 .it-hero-layout {grid-template-columns:1fr;gap:26px;}
 .page-hero.it-hero h1 {font-size:clamp(2rem,7.5vw,2.6rem);max-width:24ch;}
 .it-hero-copy .hero-actions {max-width:none;}
 .it-hero-video {justify-self:center;max-width:440px;}
}

/* Consistent, compact layouts for the company and enquiry pages. */
.business-page {background:#fff;}
.business-wrap {width:100%;margin-inline:0;padding-inline:var(--page-gutter);}
.business-hero {padding-block:36px;background:linear-gradient(115deg,#eef4ee,#f6f8f3 65%,#edf3f5);border-bottom:1px solid #d6e2d8;}
.business-intro {display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(28px,5vw,70px);align-items:center;}
.business-page h1 {font-size:clamp(2rem,3.25vw,3rem);line-height:1.13;max-width:24ch;margin:8px 0 16px;}
.business-page .business-lead {font-size:1.04rem;line-height:1.65;color:var(--muted);max-width:62ch;margin:0 0 18px;}
.business-note {padding:24px;border:1px solid #d1dfd5;border-top:3px solid var(--gold);border-radius:10px;background:#ffffffd9;}
.business-page h2 {font-family:Arial,Helvetica,sans-serif;font-size:1.4rem;line-height:1.3;margin:0 0 12px;}
.business-note p:not(.eyebrow) {font-size:.94rem;color:var(--muted);margin:0;}
.business-note .button {margin-top:18px;font-size:.94rem;}
.working-steps {display:flex;gap:12px;list-style:none;counter-reset:working;padding:16px 0 0;margin:16px 0 0;border-top:1px solid var(--line);font-size:.85rem;font-weight:700;}
.working-steps li {counter-increment:working;}
.working-steps li::before {content:counter(working,decimal-leading-zero) ' ';color:var(--gold);}
.business-section {padding-block:34px;}
.business-section-heading {margin-bottom:20px;}
.business-section-heading .eyebrow {font-size:.75rem;margin-bottom:8px;}
.business-section-heading h2 {margin:0;}
.business-pair {display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.business-card {display:flex;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid #d7e1d9;border-radius:10px;background:#fcfdfb;}
.business-number {color:var(--gold);font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;}
.business-card h3 {font-size:1.2rem;margin:12px 0 10px;line-height:1.3;}
.business-card p {font-size:.95rem;color:var(--muted);line-height:1.6;margin:0 0 14px;}
.business-card .experience-note {padding-top:14px;border-top:1px solid var(--line);font-size:.9rem;}
.business-page .text-link {color:var(--green);font-weight:700;font-size:.92rem;text-decoration:underline;text-underline-offset:4px;}
.business-card .text-link {margin-top:auto;}
.business-cta {display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 30px;margin-bottom:34px;background:#edf3ee;border-radius:10px;border:1px solid #d5e1d7;}
.business-cta h2 {font-size:1.25rem;margin:0 0 6px;}
.business-cta p {color:var(--muted);margin:0;font-size:.95rem;}
.business-contact-options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px;}
.business-contact-options article {padding:18px 20px;border:1px solid #d1dfd5;background:#fff;border-radius:9px;}
.business-contact-options h2 {font-size:1rem;margin:0 0 6px;}
.business-contact-options p {font-size:.88rem;color:var(--muted);margin:0 0 10px;}
.business-contact-options a {font-size:.93rem;font-weight:700;color:var(--green);text-underline-offset:4px;overflow-wrap:anywhere;}
.contact-intro {padding-block:28px;}
.contact-intro h1 {max-width:none;margin-bottom:12px;}
.contact-intro .business-lead {margin:0;max-width:none;}
.contact-workspace {display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.65fr);gap:clamp(28px,4vw,54px);padding-block:30px 40px;align-items:start;}
.contact-sidebar {padding:22px 24px;border:1px solid #d7e1d9;border-radius:10px;background:#f5f8f2;}
.contact-sidebar>.eyebrow {font-size:.73rem;}
.contact-sidebar>p:not(.eyebrow) {font-size:.91rem;color:var(--muted);line-height:1.6;}
.contact-method {padding:16px 0;border-top:1px solid #d8e2d8;}
.contact-method h3 {font-size:.86rem;margin:0 0 7px;color:var(--muted);}
.contact-method a {font-weight:700;font-size:.95rem;color:var(--green);overflow-wrap:anywhere;text-underline-offset:4px;}
.contact-sidebar .contact-sales-note {font-size:.84rem!important;margin-bottom:0;}
.enquiry-panel {scroll-margin-top:100px;min-width:0;}
.enquiry-panel .business-section-heading {margin-bottom:16px;}
.enquiry-panel .business-section-heading p {font-size:.83rem;color:var(--muted);margin:7px 0 0;}
.enquiry-panel .contact-form {grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:15px 18px;margin:0;padding:0;border:0;box-shadow:none;}
.enquiry-panel .contact-form label {font-size:.88rem;min-width:0;}
.enquiry-panel .contact-form input,.enquiry-panel .contact-form select,.enquiry-panel .contact-form textarea {background:#fff;border-color:#cbd8ce;font-size:.94rem;min-width:0;padding:10px;}
.enquiry-panel .contact-form textarea {min-height:116px;}
.enquiry-panel .phone-fields {grid-template-columns:112px minmax(0,1fr);gap:8px;}
.enquiry-panel .form-wide {grid-column:1/-1;}
.enquiry-panel .form-actions {display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;}
.enquiry-panel .field-note {font-size:.78rem;line-height:1.5;margin:0;}
@media(max-width:800px) {
 .business-intro {grid-template-columns:1fr;gap:22px;}
 .business-page h1 {max-width:26ch;}
 .contact-workspace {grid-template-columns:1fr;gap:26px;}
 .contact-sidebar {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
 .contact-sidebar>.eyebrow,.contact-sidebar>h2,.contact-sidebar>p {grid-column:1/-1;margin:0;}
 .contact-method {padding:12px 0 0;}
}
@media(max-width:600px) {
 .business-hero {padding-block:26px;}
 .business-contact-options,.business-pair {grid-template-columns:1fr;}
 .business-section {padding-block:26px;}
 .business-card,.business-note {padding:20px;}
 .business-cta {flex-direction:column;align-items:stretch;padding:22px;}
 .enquiry-panel .contact-form,.enquiry-panel .form-actions {grid-template-columns:1fr;}
 .contact-sidebar {display:block;}
 .contact-sidebar>.eyebrow {margin-bottom:8px;}
 .contact-sidebar>p {margin:12px 0;}
 .contact-method {padding:14px 0;}
 .working-steps {justify-content:space-between;gap:8px;}
}

.contact-form .field-error {color:#a02f2b;font-size:.78rem;font-weight:400;line-height:1.45;}
.contact-form .field-error[hidden] {display:none;}
.contact-form input[aria-invalid="true"] {border-color:#b4473f;background:#fffafa;}

.enquiry-panel .contact-form label {align-content:start;}

@media(max-width:800px){.contact-workspace .enquiry-panel{grid-row:1;}.contact-workspace .contact-sidebar{grid-row:2;}}

/* Launch review: comfortable touch controls and short-screen navigation. */
.footer-links a { min-height:44px; }
@media(max-width:880px) {
 .site-nav { max-height:calc(100dvh - 86px);overflow-y:auto;overscroll-behavior:contain; }
}
@media(max-width:600px) {
 .enquiry-panel .contact-form input,.enquiry-panel .contact-form select,.enquiry-panel .contact-form textarea {font-size:1rem;}
}

.nav-item:has([aria-current="page"]) > .nav-link {background:#e7efe6;color:var(--green);}
.page-hero.agro-hero {background:linear-gradient(115deg,#eef4eb,#f7f9f2 65%,#e7efdf);padding-block:40px;}
.agro-hero-layout {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(410px,.9fr);gap:clamp(28px,4vw,64px);align-items:center;}
.agro-hero-layout h1 {font-size:clamp(2.1rem,3.2vw,3.2rem);max-width:23ch;}
.agro-audience {padding:24px;border:1px solid #d0decb;border-top:3px solid var(--green);border-radius:10px;background:#ffffffdc;}
.agro-audience h2 {font-size:1.25rem;line-height:1.3;}
.agro-audience ul {padding-left:20px;margin:14px 0;line-height:1.6;color:var(--muted);}
.agro-audience li+li {margin-top:5px;}
.page-hero .agro-audience p:not(.eyebrow) {font-size:.9rem;line-height:1.55;margin:0;padding-top:14px;border-top:1px solid var(--line);}
@media(max-width:1000px) {.agro-hero-layout {grid-template-columns:1fr;}.page-hero.agro-hero {padding-block:28px;}}

@media(max-width:480px) {
 .heal-cycle {aspect-ratio:auto;height:280px;}
 .cycle-centre {top:38%;left:28%;width:44%;}
 .cycle-centre span {font-size:.82rem;}
}

.confirmation-page {display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;}
.confirmation-page main {display:grid;align-items:center;background:#fff;}
.confirmation-page .compact-hero {min-height:0;}

/* The home page gives both service areas the same visual weight. */
.home-work {background:#eef4f0;}
.home-work .section-heading h2 {max-width:none;}
.home-work-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;}
.home-work-card {display:flex;flex-direction:column;gap:22px;min-width:0;padding:24px;border:1px solid #d2ded5;border-top:4px solid var(--green);border-radius:10px;background:#fff;scroll-margin-top:110px;}
.home-work-card.home-heal {border-top-color:var(--blue);}
.home-work-card h3 {font-size:1.5rem;line-height:1.25;}
.home-work-card .eyebrow {font-size:.78rem;margin-bottom:10px;}
.home-work-lead {color:var(--muted);font-size:1rem;line-height:1.6;margin:12px 0 0;max-width:66ch;}
.home-portfolio-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:auto;}
.home-portfolio-grid span {padding:17px 14px;border:1px solid #dce5d8;border-radius:6px;background:#f3f7ef;color:var(--green);font-weight:700;font-size:.94rem;}
.home-market-steps {display:flex;justify-content:space-between;gap:12px;list-style:none;padding:0;margin:0;color:var(--muted);font-size:.9rem;font-weight:700;}
.home-market-steps li+li::before {content:'→';margin-right:12px;color:var(--gold);}
.home-heal-media {display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:20px;align-items:center;}
.home-heal-media .heal-cycle {width:100%;max-width:300px;height:236px;aspect-ratio:auto;}
.home-heal-media .cycle-node {padding:10px 4px;border-radius:8px;}
.home-heal-media .cycle-node span {font-size:.7rem;}
.home-heal-media .cycle-node strong {font-size:1.05rem;margin:4px 0;}
.home-heal-media .cycle-node small {display:none;}
.home-heal-media .cycle-centre {top:38%;left:28%;width:44%;}
.home-heal-media .cycle-centre strong {font-size:1rem;}
.home-heal-media .cycle-centre span {font-size:.75rem;}
.home-heal-media .heal-video {width:100%;max-width:420px;justify-self:end;}
.home-work-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;}
.home-work-actions .button {font-size:.9rem;padding:10px 14px;}
@media(max-width:1199px) {.home-work-grid {grid-template-columns:1fr;}.home-heal-media .heal-video {justify-self:center;}}
@media(max-width:600px) {
 .home-work-card {padding:20px;gap:20px;}
 .home-work-card h3 {font-size:1.3rem;}
 .home-portfolio-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 .home-portfolio-grid span {font-size:.85rem;padding:14px 10px;}
 .home-market-steps {font-size:.8rem;gap:6px;}
 .home-market-steps li+li::before {margin-right:6px;}
 .home-heal-media {grid-template-columns:1fr;gap:20px;}
 .home-work-actions {flex-direction:column;}
}

/* Portfolio previews share the same page controls and enlarged reading view. */
.portfolio-section {scroll-margin-top:90px;}
.portfolio-layout {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:start;margin-top:28px;}
.portfolio-categories {grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;}
.portfolio-viewer {display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0;overflow:hidden;border:1px solid #ccdad3;border-radius:8px;background:#f0f4f1;}
.portfolio-page {grid-column:1/-1;position:relative;display:flex;justify-content:center;align-items:center;padding:14px;background:#e5ede8;text-decoration:none;}
.portfolio-page img {display:block;width:100%;height:480px;object-fit:contain;}
.portfolio-open-hint {position:absolute;right:12px;bottom:12px;padding:7px 12px;border-radius:4px;background:var(--green);color:#fff;font-size:.8rem;font-weight:700;box-shadow:0 2px 8px #0002;}
.portfolio-controls {display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;}
.portfolio-controls[hidden] {display:none;}
.portfolio-controls span {font-size:.82rem;color:var(--muted);white-space:nowrap;}
.portfolio-controls button,.portfolio-dialog button {min-height:44px;padding:8px 12px;border:1px solid #c3d2c9;border-radius:5px;background:#fff;color:var(--green);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;}
.portfolio-controls button:disabled {opacity:.45;cursor:default;}
.portfolio-controls button:not(:disabled):hover,.portfolio-dialog button:hover {background:#e4eee7;}
.portfolio-download {display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;color:var(--green);font-weight:700;font-size:.85rem;text-underline-offset:3px;}
.portfolio-viewer > .portfolio-download {border-left:1px solid #d3dfd7;background:#fff;}
.home-agriculture .portfolio-viewer {margin-top:auto;}
.home-agriculture .portfolio-page img {height:230px;}
.home-agriculture .portfolio-page {padding:10px;}
.portfolio-dialog {width:min(1180px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #c3d2c9;border-radius:12px;background:#f0f4f1;color:var(--ink);overflow:hidden;}
.portfolio-dialog[open] {display:flex;flex-direction:column;}
.portfolio-dialog::backdrop {background:rgba(8,29,20,.78);}
.portfolio-dialog-header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#fff;border-bottom:1px solid #d3dfd7;}
.portfolio-dialog-header h2 {font-size:1.1rem;line-height:1.3;margin:0;}
.portfolio-dialog-stage {min-height:0;overflow:auto;padding:18px;overscroll-behavior:contain;}
.portfolio-dialog-stage img {display:block;width:auto;max-width:100%;height:calc(100dvh - 250px);min-height:180px;object-fit:contain;margin-inline:auto;}
.portfolio-dialog-stage.is-zoomed img {width:1100px;max-width:none;height:auto;min-height:0;}
.portfolio-dialog-toolbar {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 18px;border-top:1px solid #d3dfd7;background:#fff;}
.portfolio-dialog-toolbar .portfolio-controls {gap:18px;padding:0;}
.portfolio-dialog-actions {display:flex;gap:12px;align-items:center;}
.portfolio-modal-open {overflow:hidden;}
.agro-hero-layout > .portfolio-viewer {width:100%;max-width:610px;justify-self:end;scroll-margin-top:110px;}
.agro-hero-layout .portfolio-page img {height:320px;}
.page-hero .agro-hero-audience {font-size:.9rem;line-height:1.5;margin:20px 0 0;max-width:70ch;color:var(--muted);}
.agro-hero-audience strong {display:block;margin-bottom:4px;color:var(--green);font-size:.8rem;}
@media(max-width:1000px) {.agro-hero-layout > .portfolio-viewer {max-width:610px;justify-self:center;}}
@media(max-width:900px) {
 .portfolio-layout {grid-template-columns:1fr;}
 .portfolio-layout > .portfolio-viewer {order:-1;}
 .portfolio-page img {height:420px;}
}
@media(max-width:600px) {
 .portfolio-categories {grid-template-columns:1fr;}
 .portfolio-viewer {grid-template-columns:1fr;}
 .portfolio-viewer > .portfolio-download {border-left:0;border-top:1px solid #d3dfd7;}
 .portfolio-page img {height:340px;}
 .agro-hero-layout .portfolio-page img {height:300px;}
 .home-agriculture .portfolio-page img {height:260px;}
 .portfolio-controls button {padding:8px;font-size:.8rem;}
 .portfolio-dialog {width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:8px;}
 .portfolio-dialog-header {padding:10px;}
 .portfolio-dialog-header h2 {font-size:1rem;}
 .portfolio-dialog-stage {padding:10px;}
 .portfolio-dialog-stage img {height:calc(100dvh - 250px);}
 .portfolio-dialog-toolbar {flex-direction:column;align-items:stretch;gap:8px;padding:10px;}
 .portfolio-dialog-toolbar .portfolio-controls {gap:8px;}
 .portfolio-dialog-actions {justify-content:space-between;}
}

/* Company pages follow the compact introduction and sidebar layout used by Contact. */
.company-intro {padding-block:24px;}
.company-intro h1 {max-width:none;margin:6px 0 12px;}
.company-intro .business-lead {max-width:none;margin:0;font-size:1rem;line-height:1.5;}
.company-workspace {display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.65fr);gap:clamp(24px,4vw,54px);padding-block:26px 30px;align-items:start;}
.company-details {min-width:0;}
.company-sidebar {padding:20px;}
.company-sidebar h2 {font-size:1.25rem;line-height:1.3;margin-bottom:10px;}
.company-sidebar > .eyebrow {margin-bottom:8px;}
.company-sidebar > p:not(.eyebrow) {font-size:.92rem;line-height:1.5;margin:0;}
.company-sidebar .working-steps {gap:9px;font-size:.78rem;padding-top:12px;margin-top:14px;flex-wrap:wrap;}
.company-next-step {margin-top:18px;padding-top:16px;border-top:1px solid #d8e2d8;}
.company-next-step h3 {font-size:1.05rem;line-height:1.3;margin:0 0 8px;}
.company-next-step p {font-size:.9rem;color:var(--muted);line-height:1.5;margin:0 0 14px;}
.company-next-step .button {width:100%;padding:10px 12px;font-size:.9rem;text-align:center;}
.company-details .business-section-heading {margin-bottom:14px;}
.company-details .business-section-heading h2 {font-size:1.22rem;}
.company-details .business-section-heading .eyebrow {margin-bottom:6px;}
.company-details .business-pair {gap:16px;}
.company-details .business-card {padding:18px;}
.company-details .business-card h3 {font-size:1.1rem;line-height:1.3;margin:8px 0;}
.company-details .business-card p {font-size:.94rem;line-height:1.5;margin-bottom:12px;}
.company-details .business-card .experience-note {font-size:.88rem;padding-top:12px;}
.company-details .text-link {font-size:.88rem;line-height:1.5;}
.company-brief {display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 20px;margin-bottom:18px;border:1px solid #d7e1d9;border-radius:10px;background:#f5f8f2;}
.company-brief h2 {font-size:1.25rem;margin-bottom:8px;}
.company-brief p:not(.eyebrow) {font-size:.94rem;color:var(--muted);line-height:1.5;margin:0;}
.company-brief .button {font-size:.9rem;padding:10px 14px;}
.company-sidebar .contact-method {padding:14px 0;}
.company-sidebar .contact-method:last-child {padding-bottom:0;}
.company-sidebar .contact-method p {font-size:.86rem;color:var(--muted);line-height:1.45;margin:0 0 8px;}
@media(max-width:800px) {
 .company-workspace {grid-template-columns:1fr;gap:22px;padding-block:22px 26px;}
 .company-sidebar.contact-sidebar {display:block;}
 .company-sidebar {order:2;}
 .company-intro h1 {font-size:clamp(1.85rem,4.6vw,2.3rem);}
}
@media(max-width:600px) {
 .company-intro {padding-block:22px;}
 .company-details .business-pair {grid-template-columns:1fr;}
 .company-sidebar,.company-details .business-card,.company-brief {padding:18px;}
 .company-details .text-link,.company-sidebar .contact-method a {display:inline-flex;align-items:center;min-height:44px;}
 .company-brief .button {width:100%;}
}

/* Shared footer and visitor preferences. */
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
[hidden] {display:none!important;}
.language-menu {position:relative;margin-left:8px;font-size:.88rem;}
.language-menu summary {display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid #cbd8ce;border-radius:5px;cursor:pointer;list-style:none;color:var(--green);background:#fff;}
.language-menu summary::-webkit-details-marker {display:none;}
.language-menu[open] summary {background:#edf3ee;}
.language-panel {position:absolute;right:0;top:calc(100% + 10px);width:270px;max-height:calc(100dvh - 115px);overflow-y:auto;overscroll-behavior:contain;padding:18px;border:1px solid #cbd8ce;border-radius:8px;background:#fff;box-shadow:var(--shadow);}
.language-panel .language-heading {font-weight:700;font-size:.95rem;margin:0 0 8px;}
.language-explanation {font-size:.8rem;line-height:1.5;color:var(--muted);margin:0 0 12px;}
.language-links {display:grid;gap:3px;margin-bottom:12px;}
.site-nav .language-links a,.language-current {display:block;padding:9px 10px;min-height:44px;font-size:.93rem;border-radius:4px;}
.language-current {background:#edf3ee;color:var(--green);font-weight:700;}
.language-panel .language-saved {font-size:.78rem;margin:0;color:var(--green);border-top:1px solid var(--line);padding-top:10px;}
.footer-expanded {display:block;padding-block:36px 20px;background:linear-gradient(115deg,#112c21,#0d211a);border-top:3px solid #2b5943;}
.footer-main {display:grid;grid-template-columns:1.3fr 1fr .85fr .85fr;gap:clamp(20px,3vw,48px);}
.footer-brand strong {font-size:1.15rem;}
.footer-brand p {font-size:.9rem;}
.footer-brand .footer-description {max-width:34ch;color:#b8c8be;font-size:.85rem;line-height:1.6;margin-top:14px;}
.footer-group {display:flex;flex-direction:column;align-items:flex-start;min-width:0;}
.footer-group h2 {font:700 .95rem/1.4 Arial,Helvetica,sans-serif;margin:0 0 12px;color:#fff;}
.footer-group a {display:inline-flex;align-items:center;gap:9px;min-height:36px;font-size:.88rem;line-height:1.4;text-decoration:none;color:#d4e0d8;}
.footer-group a:hover,.footer-legal a:hover {color:#fff;text-decoration:underline;text-underline-offset:4px;}
.footer-socials {display:flex;flex-direction:column;gap:5px;}
.footer-bottom {padding-right:54px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:18px;margin-top:24px;border-top:1px solid #ffffff25;}
.footer-bottom .copyright {font-size:.76rem;color:#b8c8be;margin:0;}
.footer-record {min-width:0;}
.footer-record .site-updated {font-size:.74rem;line-height:1.5;color:#b8c8be;margin:5px 0 0;}
.footer-legal {display:flex;flex-wrap:wrap;gap:8px 22px;}
.footer-legal a {display:inline-flex;align-items:center;min-height:36px;font-size:.8rem;text-decoration:none;color:#d4e0d8;}
.back-to-top {position:fixed;bottom:20px;right:18px;z-index:15;display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:50%;background:var(--green);border:1px solid #ffffff65;color:#fff;box-shadow:0 4px 16px #09221830;text-decoration:none;transition:background .18s ease,transform .18s ease;}
.back-to-top:hover {background:#153b29;transform:translateY(-3px);}
.back-to-top:focus-visible {outline:3px solid var(--gold);outline-offset:3px;}
.privacy-banner-visible .back-to-top {display:none;}
.privacy-banner {position:fixed;bottom:16px;left:var(--page-gutter);right:var(--page-gutter);z-index:60;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:18px 22px;border:1px solid #c6d7cb;border-top:3px solid var(--green);border-radius:10px;background:#fff;box-shadow:0 8px 40px #09221835;max-height:calc(100dvh - 32px);overflow:auto;}
.privacy-banner h2 {font:700 1rem/1.3 Arial,Helvetica,sans-serif;margin:0 0 6px;}
.privacy-banner p {font-size:.83rem;line-height:1.5;color:var(--muted);margin:0;}
.privacy-banner a,.privacy-dialog a {color:var(--green);text-underline-offset:3px;}
.privacy-actions {display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.privacy-actions button {border:1px solid var(--green);border-radius:5px;background:#fff;color:var(--green);font:700 .82rem/1.4 Arial,Helvetica,sans-serif;min-height:44px;padding:10px 13px;cursor:pointer;}
.privacy-actions button:hover {background:#eaf1ec;}
.privacy-actions>a {font-size:.82rem;min-height:44px;display:inline-flex;align-items:center;padding:8px;}
.privacy-dialog {max-width:560px;width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:24px;border:1px solid #c5d5ca;border-radius:12px;color:var(--ink);background:#fff;overflow:auto;}
.privacy-dialog::backdrop {background:#061f16b5;}
.privacy-dialog-heading {display:flex;justify-content:space-between;align-items:flex-start;gap:14px;}
.privacy-dialog-heading .eyebrow {font-size:.72rem;margin:0 0 6px;}
.privacy-dialog-heading h2 {font:700 1.3rem/1.3 Arial,Helvetica,sans-serif;margin:0;}
.dialog-close {min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--green);font-size:1.5rem;cursor:pointer;}
.privacy-dialog>p {font-size:.87rem;color:var(--muted);line-height:1.55;margin:16px 0;}
.privacy-option {display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;border-top:1px solid var(--line);}
.privacy-option h3,.privacy-option strong {display:block;font:700 .95rem/1.4 Arial,Helvetica,sans-serif;margin:0 0 6px;}
.privacy-option p,.privacy-option-description {display:block;font-size:.83rem;line-height:1.5;color:var(--muted);margin:0;}
.privacy-option input {flex:0 0 auto;appearance:auto;accent-color:var(--green);width:24px;height:24px;cursor:pointer;}
.always-active {color:var(--green);font-size:.7rem;line-height:1.4;font-weight:700;text-align:center;min-width:68px;}
.privacy-dialog .privacy-provider-note {padding:12px;background:#f3f7f1;border-radius:5px;font-size:.79rem;}
.privacy-dialog-bottom {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px;font-size:.78rem;}
.text-button {min-height:44px;padding:6px;border:0;background:none;color:var(--green);text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer;}
.privacy-dialog .privacy-feedback:empty {display:none;}
.privacy-dialog-open {overflow:hidden;}
.careers-workspace {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:36px;padding-block:30px 38px;align-items:start;}
.openings-card {padding:26px;background:#f2f7f1;border:1px solid #d1dfd3;border-radius:10px;}
.opening-status {display:inline-flex;border:1px solid #cfddd0;border-radius:20px;padding:4px 12px;font-size:.76rem;font-weight:700;color:var(--green);margin-bottom:18px;background:#fff;}
.openings-card h2 {font-size:1.5rem;}
.openings-card p {font-size:.95rem;color:var(--muted);line-height:1.6;}
.openings-card .button {margin-top:8px;font-size:.9rem;padding:10px 16px;}
.careers-context>.eyebrow {font-size:.75rem;margin:0 0 8px;}
.careers-context .business-pair {gap:16px;}
.careers-context .business-card {padding:20px;}
.careers-context .business-card h3 {font-size:1.1rem;margin-top:0;}
.policy-date {font-size:.8rem;color:var(--muted);margin:14px 0 0;}
.policy-layout {display:grid;grid-template-columns:minmax(210px,.6fr) minmax(0,1.8fr);gap:clamp(28px,5vw,80px);padding-block:34px 44px;align-items:start;}
.policy-nav {position:sticky;top:110px;display:grid;padding:20px;border:1px solid #d6e2d8;border-radius:8px;background:#f5f8f2;}
.policy-nav h2 {font-size:1rem;margin-bottom:8px;}
.policy-nav a {min-height:40px;display:flex;align-items:center;font-size:.86rem;color:var(--green);text-decoration:none;}
.policy-nav a:hover {text-decoration:underline;text-underline-offset:4px;}
.policy-content {min-width:0;max-width:940px;}
.policy-content section {scroll-margin-top:110px;padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid var(--line);}
.policy-content section:last-child {border-bottom:0;padding:0;margin:0;}
.policy-content h2 {font-size:1.25rem;}
.policy-content p,.policy-content li {font-size:.95rem;line-height:1.7;color:#4e5d54;}
.policy-content p {margin:12px 0;}
.policy-content ul {padding-left:22px;}
.policy-content li+li {margin-top:10px;}
.policy-content a {color:var(--green);text-underline-offset:3px;overflow-wrap:anywhere;}
.policy-content .button {font-size:.88rem;padding:10px 16px;}
.storage-list {display:grid;gap:12px;margin:20px 0;}
.storage-list article {padding:16px 18px;background:#f6f8f3;border:1px solid var(--line);border-radius:6px;}
.storage-list h3 {font-size:.95rem;margin:0;display:flex;justify-content:space-between;gap:12px;}
.storage-list h3 span {font-size:.75rem;font-weight:400;color:var(--green);}
.storage-list p {font-size:.87rem;margin:8px 0 0;}
@media(max-width:1000px) {
 .privacy-banner {grid-template-columns:1fr;gap:12px;}
 .footer-main {grid-template-columns:repeat(3,minmax(0,1fr));}
 .footer-brand {grid-column:1/-1;}
 .footer-brand .footer-description {max-width:none;margin-top:6px;}
 .footer-bottom {align-items:flex-start;flex-direction:column;gap:8px;}
 .careers-workspace {grid-template-columns:1fr;gap:26px;}
}
@media(max-width:880px) {
 .language-menu {margin:8px 0 0;}
 .language-menu summary {justify-content:flex-start;}
 .language-panel {position:static;width:100%;max-height:none;overflow:visible;margin-top:8px;box-shadow:none;}
 .language-links {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px) {
 .policy-layout {grid-template-columns:1fr;gap:26px;padding-block:24px 32px;}
 .policy-nav {position:static;grid-template-columns:1fr 1fr;gap:4px 12px;padding:18px;}
 .policy-nav h2 {grid-column:1/-1;}
 .policy-nav a {min-height:44px;}
}
@media(max-width:600px) {
 .footer-expanded {padding-block:28px 18px;}
 .footer-main {grid-template-columns:1fr 1fr;gap:24px 18px;}
 .footer-follow {grid-column:1/-1;}
 .footer-socials {flex-direction:row;flex-wrap:wrap;gap:18px;}
 .footer-group a,.footer-legal a {min-height:44px;}
 .footer-group h2 {margin-bottom:8px;}
 .footer-legal {gap:4px 18px;}
 .footer-bottom {margin-top:18px;padding-top:16px;}
 .privacy-banner {bottom:10px;left:10px;right:10px;padding:14px;gap:10px;}
 .privacy-banner p {font-size:.8rem;}
 .privacy-actions {gap:8px;}
 .privacy-banner .privacy-actions {display:grid;grid-template-columns:1fr 1fr;}
 .privacy-banner .privacy-actions>a {grid-column:1/-1;justify-content:center;padding:0;min-height:30px;}
 .privacy-actions button {font-size:.78rem;padding:10px;}
 .privacy-dialog {padding:18px;}
 .privacy-dialog-heading h2 {font-size:1.15rem;}
 .privacy-option {gap:12px;}
 .privacy-dialog-bottom {flex-direction:column;align-items:flex-start;}
 .careers-workspace {padding-block:24px 28px;}
 .openings-card {padding:22px;}
 .back-to-top {right:12px;bottom:12px;}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto;}.back-to-top {transition:none;}.back-to-top:hover {transform:none;}}

.whatsapp-mark {background:#187a42;}

/* The language control stays within the existing navigation. */
.language-links button {width:100%;min-height:44px;padding:9px 10px;text-align:left;border:0;border-radius:4px;background:transparent;color:var(--green);font:inherit;cursor:pointer;}
.language-links button:hover,.language-links button:focus-visible {background:#f1f5f2;}
.language-links button[aria-pressed="true"] {background:#e7efe8;font-weight:700;}
.language-status {font-size:.8rem;line-height:1.45;color:#a32e26;}
.language-suggestion {position:absolute;right:var(--page-gutter,3.2%);top:calc(100% + 8px);max-width:min(330px,calc(100vw - 32px));padding:16px;border:1px solid #cbd8ce;border-radius:8px;background:#fff;box-shadow:var(--shadow);z-index:25;color:var(--green);}
.language-suggestion p {margin:0 0 10px;font-size:.92rem;line-height:1.5;}
.language-suggestion button {font:inherit;font-size:.85rem;min-height:40px;padding:8px 13px;border:1px solid #cbd8ce;border-radius:4px;background:#fff;color:var(--green);cursor:pointer;}
.language-suggestion button + button {margin-left:8px;}
.language-suggestion button:first-of-type {background:var(--green);color:white;}
html:not([lang="en"]) .site-nav {gap:clamp(6px,1.4vw,22px);}
html:not([lang="en"]) .site-nav > a,html:not([lang="en"]) .site-nav > .nav-item > a {padding-inline:10px;}
html:not([lang="en"]) .hero-offering h2 {overflow-wrap:anywhere;}
@media(max-width:880px) {
 .site-nav .nav-dropdown a {white-space:normal;overflow-wrap:anywhere;}
}
