:root {
  --green: #84c51e;
  --green-2: #6fac18;
  --blue: #08a5d8;
  --orange: #f5b044;
  --magenta: #df1175;
  --gray: #7d8588;
  --ink: #30383b;
  --muted: #6f7a7d;
  --line: #dde8e6;
  --pale: #f1f8e9;
  --soft: #f8fbfb;
  --white: #fff;
  --teal: #08a5d8;
  font-family: Inter, Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--soft);
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
.container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }

.topbar {
  background: #30383b;
  color: #f1f5f4;
  font-size: 13px;
}
.topbar .container {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 8px 0;
}
.nav {
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
}
.logo {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: .2px;
}
.logo-mark {
  width: 126px;
  height: 46px;
  border-radius: 0;
  background: url("assets/agrinorm-logo.png") left center / contain no-repeat;
  font-size: 0;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #3b4b43;
  font-size: 14px;
}
.nav-links a:hover { color: var(--blue); }
.nav-item {
  position: relative;
}
.language-trigger {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  padding: 0 12px;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}
.language-trigger span {
  display: inline-grid;
  min-width: 30px;
  height: 26px;
  place-items: center;
  border-radius: 999px;
  background: #eaf8fd;
  color: var(--blue);
  font-size: 12px;
}
.language-trigger b {
  font-size: 13px;
}
.language-switcher:hover .language-trigger,
.language-switcher:focus-within .language-trigger {
  border-color: #bee9f7;
  color: var(--blue);
}
.quick-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 14px);
  width: 330px;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(31, 56, 62, .16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index: 30;
}
.wide-menu,
.solution-menu {
  width: 390px;
}
.language-menu {
  left: auto;
  right: 0;
  width: 310px;
}
.quick-menu::before {
  content: "";
  position: absolute;
  left: 0;
  top: -16px;
  width: 100%;
  height: 16px;
}
.nav-item:hover .quick-menu,
.nav-item:focus-within .quick-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.quick-menu a {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 12px;
  color: var(--ink);
}
.quick-menu a:hover {
  background: #f6fbfb;
  color: var(--blue);
}
.quick-menu b {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #eaf8fd;
  color: var(--blue);
  font-size: 12px;
}
.quick-menu a:nth-child(1) b { background: #f1f8e9; color: var(--green-2); }
.quick-menu a:nth-child(2) b { background: #fff5e2; color: #a06406; }
.quick-menu a:nth-child(3) b { background: #eaf8fd; color: var(--blue); }
.quick-menu a:nth-child(4) b { background: #fdeaf4; color: var(--magenta); }
.quick-menu a:nth-child(5) b { background: #eef1f2; color: var(--gray); }
.language-menu a:nth-child(n) b {
  background: #f6fbfb;
  color: var(--ink);
}
.language-menu a.is-active b {
  background: #eaf8fd;
  color: var(--blue);
}
.language-menu a.is-active {
  border-color: #bee9f7;
  background: #f8fdff;
}
.quick-menu span {
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}
.quick-menu small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.nav-quote {
  min-width: 128px;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  font-weight: 700;
  border: 1px solid var(--blue);
}
.nav-links .btn {
  min-height: 40px;
  padding: 0 15px;
}
.btn.secondary {
  background: #fff;
  color: var(--ink);
}

.hero {
  min-height: 660px;
  background:
    linear-gradient(90deg, rgba(48,56,59,.78) 0%, rgba(48,56,59,.50) 44%, rgba(48,56,59,.06) 100%),
    url("assets/banners/home-crop-nutrition.png") center/cover;
  color: #fff;
}
.hero-content { padding: 84px 0 72px; }
.hero-split {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .78fr);
  gap: 58px;
  align-items: center;
}
.hero-copy { max-width: 760px; }
.eyebrow {
  display: inline-block;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(223,17,117,.86);
  border: 1px solid rgba(255,255,255,.3);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .5px;
  text-transform: uppercase;
}
h1 {
  margin: 22px 0 18px;
  font-size: clamp(42px, 6vw, 68px);
  line-height: 1.02;
  letter-spacing: 0;
}
.hero p {
  max-width: 670px;
  color: #e6f1e9;
  font-size: 19px;
}
.hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.hero-tags span {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 0 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.28);
  color: #f3fbf7;
  font-size: 13px;
  font-weight: 700;
}
.hero-actions { display: flex; gap: 14px; margin-top: 30px; flex-wrap: wrap; }
.hero .btn.secondary { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.12); color: #fff; }
.brand-window {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(255,255,255,.76);
  border-radius: 26px;
  padding: 24px;
  box-shadow: 0 28px 80px rgba(20, 40, 48, .22);
  color: var(--ink);
}
.window-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}
.window-head img {
  width: 150px;
  height: 70px;
  object-fit: contain;
  object-position: left center;
}
.window-head span {
  color: var(--gray);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.capability-list {
  display: grid;
  gap: 12px;
  margin: 20px 0;
}
.capability {
  border-radius: 18px;
  padding: 18px 18px 18px 22px;
  background: #f7faf8;
  border: 1px solid var(--line);
  position: relative;
  overflow: hidden;
}
.capability::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
}
.capability.green::before { background: var(--green); }
.capability.blue::before { background: var(--blue); }
.capability.orange::before { background: var(--orange); }
.capability strong {
  display: block;
  font-size: 20px;
  margin-bottom: 4px;
}
.capability span {
  color: var(--muted);
  font-size: 14px;
}
.window-proof {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.window-proof span {
  background: #f0f6f5;
  border-radius: 999px;
  padding: 9px 8px;
  color: #4e5c60;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
}
.metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.28);
  margin-top: 48px;
  border: 1px solid rgba(255,255,255,.28);
}
.metric {
  padding: 20px;
  background: rgba(48,56,59,.54);
}
.metric strong { display: block; font-size: 26px; color: #fff; }
.metric span { font-size: 13px; color: #cfe5d5; }

.proof-strip {
  padding: 0;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.proof-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border-inline: 1px solid var(--line);
}
.proof-grid div {
  background: #fff;
  padding: 26px 24px;
}
.proof-grid strong {
  display: block;
  color: var(--ink);
  font-size: 18px;
  margin-bottom: 7px;
}
.proof-grid span {
  display: block;
  color: var(--muted);
  font-size: 14px;
}

section { padding: 82px 0; }
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
  margin-bottom: 34px;
}
.section-kicker { color: var(--green); font-weight: 800; text-transform: uppercase; font-size: 13px; letter-spacing: .6px; }
h2 { margin: 8px 0 0; font-size: clamp(30px, 4vw, 46px); line-height: 1.12; letter-spacing: 0; }
.section-head p { max-width: 470px; color: var(--muted); margin: 0; }

.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.product-card, .info-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 24px;
  min-height: 220px;
  box-shadow: 0 10px 22px rgba(25, 64, 42, .06);
}

.stage-map {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
.stage-map.wide { margin-bottom: 8px; }
.stage-card {
  position: relative;
  overflow: hidden;
  min-height: 310px;
  padding: 24px 20px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 12px 26px rgba(25, 64, 42, .06);
}
.stage-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 7px;
}
.stage-card::after {
  content: "";
  position: absolute;
  right: -38px;
  top: -42px;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  opacity: .12;
}
.stage-index {
  width: 48px;
  height: 48px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 900;
  margin-bottom: 18px;
}
.stage-card h3 {
  font-size: 20px;
  min-height: 50px;
}
.stage-card p {
  color: var(--muted);
  margin: 0 0 14px;
  font-size: 14px;
}
.stage-card.npk::before, .stage-card.npk .stage-index, .stage-card.npk::after { background: var(--green); }
.stage-card.micro::before, .stage-card.micro .stage-index, .stage-card.micro::after { background: var(--orange); }
.stage-card.organic::before, .stage-card.organic .stage-index, .stage-card.organic::after { background: var(--blue); }
.stage-card.bio::before, .stage-card.bio .stage-index, .stage-card.bio::after { background: var(--magenta); }
.stage-card.defense::before, .stage-card.defense .stage-index, .stage-card.defense::after { background: var(--gray); }
.benefit-list {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.benefit-list li {
  position: relative;
  padding-left: 20px;
  color: #3f4b4e;
  font-size: 13px;
  font-weight: 700;
}
.benefit-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .65em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  opacity: .45;
}

.catalog-stage {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  margin-bottom: 22px;
  overflow: visible;
  box-shadow: 0 12px 28px rgba(25, 64, 42, .05);
  scroll-margin-top: 96px;
}
.catalog-head {
  display: flex;
  gap: 18px;
  align-items: center;
  padding: 22px 24px;
  border-bottom: 1px solid var(--line);
  border-radius: 18px 18px 0 0;
  background: #fbfdfc;
}
.catalog-head span {
  width: 50px;
  height: 50px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 900;
}
.catalog-head h2 {
  font-size: 24px;
  margin: 0 0 3px;
}
.catalog-head h2 small {
  display: inline-block;
  margin-left: 8px;
  color: var(--muted);
  font-size: 15px;
}
.catalog-head p {
  margin: 0;
  color: var(--muted);
}
.catalog-stage.npk .catalog-head span { background: var(--green); }
.catalog-stage.micro .catalog-head span { background: var(--orange); }
.catalog-stage.organic .catalog-head span { background: var(--blue); }
.catalog-stage.bio .catalog-head span { background: var(--magenta); }
.catalog-stage.defense .catalog-head span { background: var(--gray); }
.catalog-products {
  padding: 22px 24px 26px;
}
.catalog-products .product-card {
  min-height: 300px;
}
.board-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: -8px 0 22px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}
.tool-btn {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fbfb;
  color: var(--ink);
  padding: 0 14px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.tool-btn:hover {
  border-color: var(--blue);
  color: var(--blue);
}
.product-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 22px 24px 26px;
  min-height: 88px;
  border-radius: 0 0 18px 18px;
  transition: background .18s ease, box-shadow .18s ease;
}
.product-chips.is-drop-target {
  background: rgba(8, 165, 216, .06);
  box-shadow: inset 0 0 0 2px rgba(8, 165, 216, .18);
}
.product-chips span,
.product-module {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  border-radius: 12px;
  background: #f4f8f8;
  border: 1px solid transparent;
  color: #3f4b4e;
  padding: 9px 13px;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(25, 64, 42, .06);
}
.product-module {
  cursor: grab;
  user-select: none;
}
.product-module:active {
  cursor: grabbing;
}
.product-module.is-dragging {
  opacity: .55;
  transform: scale(.98);
}
.drag-grip {
  color: currentColor;
  opacity: .55;
  font-size: 15px;
  line-height: 1;
}
.product-module a {
  color: inherit;
  text-decoration: none;
}
.product-module a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.product-module a {
  max-width: 100%;
}
.product-chips span[data-note],
.product-module[data-note] {
  cursor: help;
}
.product-chips span[data-note]::after,
.product-module[data-note]::after {
  content: attr(data-note);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  width: min(330px, 82vw);
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--ink);
  color: #fff;
  box-shadow: 0 18px 40px rgba(31, 56, 62, .24);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  white-space: normal;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  pointer-events: none;
  z-index: 25;
}
.product-chips span[data-note]::before,
.product-module[data-note]::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% - 2px);
  border: 8px solid transparent;
  border-top-color: var(--ink);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%);
  transition: opacity .18s ease, visibility .18s ease;
  pointer-events: none;
  z-index: 26;
}
.product-chips span[data-note]:hover::after,
.product-chips span[data-note]:focus-visible::after,
.product-module[data-note]:hover::after,
.product-module[data-note]:focus-within::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.product-chips span[data-note]:hover::before,
.product-chips span[data-note]:focus-visible::before,
.product-module[data-note]:hover::before,
.product-module[data-note]:focus-within::before {
  opacity: 1;
  visibility: visible;
}
.catalog-stage.npk .product-chips span,
.catalog-stage.npk .product-module {
  background: #f1f8e9;
  color: #4b7f12;
  border-color: #d7edbd;
}
.catalog-stage.micro .product-chips span,
.catalog-stage.micro .product-module {
  background: #fff5e2;
  color: #9a5e05;
  border-color: #ffe1a9;
}
.catalog-stage.organic .product-chips span,
.catalog-stage.organic .product-module {
  background: #eaf8fd;
  color: #076d90;
  border-color: #bee9f7;
}
.catalog-stage.bio .product-chips span,
.catalog-stage.bio .product-module {
  background: #fdeaf4;
  color: #9c0d51;
  border-color: #fac6df;
}
.catalog-stage.defense .product-chips span,
.catalog-stage.defense .product-module {
  background: #eef1f2;
  color: #555f62;
  border-color: #d9e0e2;
}
.product-card .tag {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #f3f8f9;
  color: var(--blue);
  display: grid;
  place-items: center;
  font-weight: 900;
  margin-bottom: 18px;
}
.product-card:nth-child(1) .tag { background: #f1f8e9; color: var(--green-2); }
.product-card:nth-child(2) .tag { background: #fff7e8; color: var(--orange); }
.product-card:nth-child(3) .tag { background: #eaf8fd; color: var(--blue); }
.product-card:nth-child(4) .tag { background: #fdebf4; color: var(--magenta); }
.product-card:nth-child(5) .tag { background: #f1f3f3; color: var(--gray); }
.product-card:nth-child(6) .tag { background: #fff7e8; color: var(--orange); }
.product-card:nth-child(1) { border-top: 5px solid var(--green); }
.product-card:nth-child(2) { border-top: 5px solid var(--orange); }
.product-card:nth-child(3) { border-top: 5px solid var(--blue); }
.product-card:nth-child(4) { border-top: 5px solid var(--magenta); }
.product-card:nth-child(5) { border-top: 5px solid var(--gray); }
.product-card:nth-child(6) { border-top: 5px solid var(--orange); }
h3 { margin: 0 0 10px; font-size: 22px; line-height: 1.22; }
.product-card p, .info-card p { color: var(--muted); margin: 0 0 16px; }
.text-link {
  color: var(--blue);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.text-link:hover {
  color: var(--green-2);
}
.spec-list { margin: 0; padding: 0; list-style: none; color: #3c4d44; font-size: 14px; }
.spec-list li { padding: 7px 0; border-top: 1px solid #edf2ee; }

.band { background: #fff; border-block: 1px solid var(--line); }
.two-col {
  display: grid;
  grid-template-columns: 1.04fr .96fr;
  gap: 44px;
  align-items: center;
}
.visual-grid { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }
.visual-grid img {
  width: 100%;
  border-radius: 8px;
  border: 1px solid var(--line);
  display: block;
}
.visual-grid img:first-child { grid-column: span 2; }
.check-list { display: grid; gap: 12px; margin-top: 26px; }
.check {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  color: #405148;
}
.check b { color: var(--green); }
.check span:first-child {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--green);
  color: #fff;
  font-weight: 800;
  line-height: 1;
}

.solution-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.solution {
  background: #fff;
  padding: 26px;
  min-height: 210px;
}
.solution strong { display: block; color: var(--green); font-size: 18px; margin-bottom: 10px; }
.solution p { color: var(--muted); margin: 0; }
.solution.blue strong { color: var(--blue); }
.solution.orange strong { color: #a06406; }
.solution.magenta strong { color: var(--magenta); }

.company-video-section {
  background:
    linear-gradient(135deg, rgba(245, 251, 238, .96), rgba(234, 248, 253, .84)),
    #f7fbf7;
  border-top: 1px solid var(--line);
}
.company-video-grid {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(360px, 1.22fr);
  gap: 34px;
  align-items: center;
}
.company-video-copy h2 {
  color: var(--ink);
  margin-top: 8px;
}
.company-video-copy p {
  color: var(--muted);
  font-size: 17px;
}
.video-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.video-proof span {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: #405148;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 900;
}
.company-video-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 22px;
  background: #fff;
  padding: 12px;
  box-shadow: 0 24px 60px rgba(25, 64, 42, .12);
}
.company-video-frame iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  border-radius: 14px;
  background: #111;
}
.video-fallback-link {
  position: absolute;
  right: 24px;
  bottom: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  color: var(--blue);
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(15, 40, 30, .18);
}
.video-fallback-link:hover {
  color: var(--green);
}

.cta {
  background: linear-gradient(110deg, #30383b 0%, #30383b 44%, #08a5d8 100%);
  color: #fff;
  padding: 64px 0;
}
.cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.cta h2 { margin: 0 0 12px; }
.cta p { margin: 0; color: #d8eadf; max-width: 680px; }

.page-hero {
  background: var(--pale);
  padding: 76px 0 58px;
  border-bottom: 1px solid var(--line);
}
.page-hero h1 { color: var(--green); font-size: clamp(40px, 5vw, 60px); }
.page-hero p { max-width: 760px; color: var(--muted); font-size: 18px; }
.page-hero .hero-tags span {
  background: #fff;
  border-color: var(--line);
  color: #405148;
}
.solution-hero {
  background:
    linear-gradient(125deg, rgba(241,248,233,.96), rgba(234,248,253,.88)),
    var(--pale);
}
.solution-hero h1 {
  max-width: 980px;
  color: var(--ink);
}
.solution-hero p {
  max-width: 900px;
}
.page-hero.page-banner {
  display: flex;
  align-items: center;
  min-height: 448px;
  padding: 94px 0 82px;
  border-bottom: 0;
  background-position: center;
  background-size: cover;
  color: #fff;
}
.page-hero.page-banner .container {
  width: min(1160px, calc(100% - 40px));
}
.page-hero.page-banner h1 {
  max-width: 930px;
  color: #fff;
  text-shadow: 0 3px 18px rgba(0,0,0,.22);
}
.page-hero.page-banner p {
  max-width: 820px;
  color: rgba(255,255,255,.92);
  text-shadow: 0 2px 12px rgba(0,0,0,.2);
}
.page-hero.page-banner .eyebrow {
  color: #fff;
  background: rgba(223, 17, 117, .94);
  border-radius: 999px;
  padding: 8px 14px;
  letter-spacing: .6px;
}
.page-hero.page-banner .hero-tags span {
  background: rgba(255,255,255,.94);
  border-color: rgba(255,255,255,.8);
  color: #405148;
}
.language-placeholder-hero {
  background:
    linear-gradient(115deg, rgba(241,248,233,.96), rgba(234,248,253,.9)),
    var(--pale);
}
.language-placeholder-hero h1 {
  color: var(--ink);
}
.language-placeholder-hero .eyebrow {
  color: var(--magenta);
}
.banner-products {
  background-image: linear-gradient(90deg, rgba(24, 39, 37, .92) 0%, rgba(24, 39, 37, .7) 46%, rgba(24, 39, 37, .15) 100%), url("assets/banners/products-portfolio.png");
}
.banner-solutions {
  background-image: linear-gradient(90deg, rgba(20, 42, 34, .92) 0%, rgba(20, 42, 34, .68) 46%, rgba(20, 42, 34, .12) 100%), url("assets/banners/solutions-crop-nutrition.png");
}
.banner-knowledge {
  background-image: linear-gradient(90deg, rgba(20, 30, 29, .92) 0%, rgba(20, 30, 29, .68) 46%, rgba(20, 30, 29, .12) 100%), url("assets/banners/knowledge-field-research.png");
}
.banner-oem {
  background-image: linear-gradient(90deg, rgba(25, 35, 42, .92) 0%, rgba(25, 35, 42, .68) 46%, rgba(25, 35, 42, .14) 100%), url("assets/banners/oem-production.png");
}
.banner-quality {
  background-image: linear-gradient(90deg, rgba(10, 22, 25, .94) 0%, rgba(10, 22, 25, .72) 46%, rgba(10, 22, 25, .14) 100%), url("assets/banners/quality-laboratory.png");
}
.banner-contact {
  background-image: linear-gradient(90deg, rgba(30, 36, 36, .94) 0%, rgba(30, 36, 36, .7) 46%, rgba(30, 36, 36, .12) 100%), url("assets/banners/contact-export.png");
}
.banner-about {
  background-image: linear-gradient(90deg, rgba(27, 41, 42, .92) 0%, rgba(27, 41, 42, .67) 46%, rgba(27, 41, 42, .1) 100%), url("assets/banners/about-agrinorm.png");
}
.table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid var(--line);
}
.table th, .table td {
  padding: 16px;
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.table th { background: var(--green); color: #fff; }
.product-detail-hero h1 {
  color: var(--ink);
}
.product-detail-hero {
  background:
    linear-gradient(115deg, #f8fbf5 0%, #eef8fb 58%, #fff8ea 100%);
}
.product-hero-grid {
  display: grid;
  grid-template-columns: minmax(300px, 430px) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
}
.product-hero-copy {
  max-width: 780px;
}
.product-detail-hero .hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
  color: var(--ink);
}
.product-detail-hero .hero-tags span {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 12px;
  color: #405148;
  box-shadow: 0 8px 18px rgba(25, 64, 42, .05);
}
.product-assurance-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 24px;
}
.product-assurance-strip div {
  min-height: 112px;
  border: 1px solid rgba(221, 232, 230, .95);
  border-radius: 12px;
  background: rgba(255, 255, 255, .88);
  padding: 16px;
  box-shadow: 0 12px 28px rgba(25, 64, 42, .06);
}
.product-assurance-strip span,
.product-assurance-strip em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}
.product-assurance-strip span {
  text-transform: uppercase;
}
.product-assurance-strip strong {
  display: block;
  margin: 8px 0 6px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.2;
}
.amazon-media-gallery {
  display: grid;
  gap: 14px;
}
.amazon-main-frame {
  position: relative;
  aspect-ratio: 1 / 1;
  min-height: 0;
  margin: 0;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 24px;
  background: #fff;
  padding: clamp(16px, 2.4vw, 28px);
  display: grid;
  grid-template-rows: 1fr auto;
  align-items: center;
  box-shadow: 0 30px 70px rgba(25, 64, 42, .13);
  overflow: hidden;
}
.amazon-main-frame img,
.amazon-main-frame video {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
  object-fit: contain;
  background: #fff;
}
.amazon-main-frame video {
  border-radius: 16px;
  background: #111;
}
.amazon-main-frame figcaption {
  margin-top: 16px;
  color: var(--ink);
  font-size: 17px;
  font-weight: 900;
}
.amazon-video-pending {
  min-height: 0;
  height: 100%;
  border: 1px dashed rgba(25, 64, 42, .22);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(247, 251, 247, .9)),
    var(--pale);
  display: grid;
  place-items: center;
  text-align: center;
  padding: 28px;
}
.amazon-video-pending strong {
  display: block;
  color: var(--ink);
  font-size: 20px;
  margin-bottom: 8px;
}
.amazon-video-pending span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
.amazon-thumb-row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 40px) / 6);
  gap: 8px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.amazon-thumb-row::-webkit-scrollbar {
  display: none;
}
.amazon-thumb {
  position: relative;
  min-height: 86px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 6px;
  display: grid;
  place-items: center;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(25, 64, 42, .07);
  scroll-snap-align: start;
}
.amazon-thumb:hover,
.amazon-thumb.is-active {
  border-color: var(--blue);
  box-shadow: 0 12px 24px rgba(12, 165, 216, .14);
}
.amazon-thumb img {
  width: 100%;
  height: 70px;
  display: block;
  object-fit: contain;
  background: #fff;
}
.amazon-thumb span:not(.play-mark) {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
}
.amazon-thumb em {
  position: absolute;
  right: 6px;
  bottom: 5px;
  color: rgba(64, 81, 72, .58);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}
.amazon-media-progress {
  display: none;
  height: 4px;
  border-radius: 999px;
  background: rgba(64, 81, 72, .12);
  overflow: hidden;
}
.amazon-media-gallery.has-overflow .amazon-media-progress {
  display: block;
}
.amazon-media-progress span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green), var(--blue));
  transition: width .18s ease;
}
.play-mark {
  position: absolute;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(12, 165, 216, .92);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 12px;
  box-shadow: 0 8px 18px rgba(12, 165, 216, .28);
}
.product-main-visual {
  position: relative;
  min-height: clamp(430px, 52vw, 620px);
  margin: 0;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 24px;
  background: #fff;
  padding: clamp(18px, 3vw, 34px);
  display: grid;
  grid-template-rows: 1fr auto;
  align-items: center;
  box-shadow: 0 30px 70px rgba(25, 64, 42, .13);
  overflow: hidden;
}
.product-main-visual img {
  width: 100%;
  height: clamp(340px, 42vw, 500px);
  display: block;
  object-fit: contain;
  background: #fff;
}
.product-main-visual figcaption {
  margin-top: 16px;
  color: var(--ink);
  font-size: 17px;
  font-weight: 900;
}
.product-main-visual.is-missing {
  display: none;
}
.product-detail-carousel {
  margin-top: 26px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  padding: 14px;
  box-shadow: 0 14px 34px rgba(25, 64, 42, .08);
}
.carousel-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.carousel-head strong {
  color: var(--ink);
  font-size: 15px;
}
.carousel-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-align: right;
}
.carousel-window {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 34px;
  gap: 10px;
  align-items: stretch;
}
.carousel-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(176px, 32%);
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  padding-bottom: 4px;
}
.carousel-card {
  min-height: 220px;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
  scroll-snap-align: start;
  box-shadow: 0 10px 24px rgba(25, 64, 42, .08);
}
.carousel-card img {
  width: 100%;
  height: 148px;
  display: block;
  object-fit: contain;
  background: #fff;
  padding: 10px;
  box-sizing: border-box;
}
.carousel-card figcaption {
  display: grid;
  gap: 4px;
  padding: 10px 12px 12px;
}
.carousel-card figcaption strong {
  color: var(--ink);
  font-size: 13px;
}
.carousel-card figcaption span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}
.carousel-btn {
  width: 34px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--green);
  font-size: 26px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(25, 64, 42, .08);
}
.carousel-btn:hover {
  border-color: rgba(12, 165, 216, .35);
  color: var(--blue);
}
.zoomable-image {
  cursor: zoom-in;
}
.media-expand-btn {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(25, 64, 42, .12);
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--green);
  display: grid;
  place-items: center;
  font-size: 20px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(25, 64, 42, .14);
}
.media-expand-btn:hover {
  color: var(--blue);
  border-color: rgba(12, 165, 216, .35);
}
.image-zoom-lens {
  position: fixed;
  z-index: 60;
  width: min(720px, 68vw);
  height: min(720px, 68vw);
  border: 1px solid rgba(25, 64, 42, .18);
  border-radius: 18px;
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: 300% 300%;
  box-shadow: 0 26px 70px rgba(25, 64, 42, .24);
  pointer-events: none;
}
.media-lightbox {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 14px;
  padding: min(5vw, 48px);
  background: rgba(16, 24, 20, .82);
}
.media-lightbox img,
.media-lightbox video {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  border-radius: 16px;
  background: #fff;
}
.media-lightbox video {
  background: #111;
}
.media-lightbox-caption {
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  text-align: center;
}
.media-lightbox-close {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 81;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  color: var(--ink);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.product-visual-card {
  margin: 0;
  min-height: 430px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  padding: 18px 18px 14px;
  box-shadow: 0 24px 60px rgba(25, 64, 42, .11);
}
.product-visual-card img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  display: block;
  border-radius: 16px;
  background: #f3f5f4;
}
.product-visual-card figcaption {
  margin-top: 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}
.product-code-visual {
  display: grid;
  grid-template-rows: 1fr auto;
}
.product-code-card {
  aspect-ratio: 1;
  border-radius: 16px;
  background:
    linear-gradient(140deg, rgba(132, 200, 24, .12), rgba(12, 165, 216, .14)),
    #f7fbf7;
  border: 1px solid var(--line);
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 12px;
  padding: 28px;
  text-align: center;
}
.product-code-card span {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.product-code-card strong {
  color: var(--ink);
  font-size: clamp(46px, 6vw, 76px);
  line-height: 1;
}
.product-code-card em {
  color: var(--muted);
  font-style: normal;
  font-weight: 900;
  line-height: 1.35;
}
.product-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 24px;
  align-items: start;
}
.product-main {
  display: grid;
  gap: 22px;
}
.detail-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 28px;
  box-shadow: 0 14px 34px rgba(25, 64, 42, .06);
}
.detail-panel h2 {
  margin-top: 8px;
  font-size: clamp(25px, 2.2vw, 34px);
}
.detail-panel p {
  color: var(--muted);
}
.quick-panel {
  border-top: 4px solid var(--green);
}
.calcium-boron-panel {
  border-color: #c8e8d7;
  background: linear-gradient(135deg, #fbfef9, #f0fbf6);
}
.calcium-boron-panel .section-kicker {
  color: var(--green-2);
}
.quick-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}
.fact {
  min-height: 86px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfdfc;
  padding: 14px;
}
.fact span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
.fact strong {
  display: block;
  margin-top: 6px;
  color: var(--ink);
  line-height: 1.25;
}
.problem-solution {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.problem-solution .detail-panel {
  box-shadow: none;
}
.problem-solution .detail-panel:first-child {
  border-left: 4px solid var(--magenta);
}
.problem-solution .detail-panel:last-child {
  border-left: 4px solid var(--blue);
}
.benefit-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 18px;
}
.benefit-item {
  border: 1px solid var(--line);
  border-left: 4px solid var(--green);
  border-radius: 10px;
  background: #fbfdfc;
  padding: 16px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.benefit-item:hover {
  transform: translateY(-2px);
  border-color: #bee9f7;
  box-shadow: 0 12px 26px rgba(25, 64, 42, .08);
}
.benefit-item strong {
  display: block;
  color: var(--ink);
  margin-bottom: 6px;
  line-height: 1.35;
}
.benefit-item p {
  margin: 0;
  font-size: 14px;
}
.benefit-compliance-note {
  margin-top: 14px;
  border: 1px solid #bee9f7;
  border-radius: 10px;
  background: #eaf8fd;
  padding: 13px 14px;
  color: #215565;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.55;
}
.use-compliance-panel {
  border-color: #c8e8d7;
  background:
    linear-gradient(135deg, rgba(241, 248, 233, .72), rgba(255, 255, 255, .96));
}
.use-note-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.use-note-grid div {
  min-height: 148px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, .84);
  padding: 15px;
}
.use-note-grid span {
  display: block;
  color: var(--green-2);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.use-note-grid p {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.55;
}
.spec-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-top: 16px;
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid var(--line);
}
.spec-table th,
.spec-table td {
  padding: 13px 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.spec-table tr:last-child th,
.spec-table tr:last-child td {
  border-bottom: 0;
}
.spec-table tr:nth-child(even) td {
  background: #fbfdfc;
}
.spec-table th {
  width: 34%;
  background: #f6fbfb;
  color: #405148;
}
.application-table td:first-child,
.application-table th:first-child {
  width: 24%;
}
.source-list {
  display: grid;
  gap: 12px;
}
.source-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfc;
  padding: 14px 16px;
}
.source-item div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.source-item strong {
  color: var(--blue);
  font-size: 14px;
}
.source-item span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  text-align: right;
}
.source-item p {
  margin: 0 0 8px;
  color: #4e5c60;
  font-size: 14px;
}
.source-item em {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
}
.solution-directory {
  display: grid;
  gap: 24px;
}
.solution-entrance-section {
  padding: 56px 0 36px;
  background: #fff;
}
.solution-split-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}
.solution-heading-grid,
.solution-aligned-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 22px;
}
.solution-heading-grid {
  align-items: stretch;
  margin-bottom: 22px;
}
.solution-aligned-grid {
  row-gap: 12px;
  grid-auto-rows: 1fr;
  align-items: stretch;
  background:
    linear-gradient(90deg, rgba(255, 243, 245, .72) 0 calc(50% - 11px), transparent calc(50% - 11px) calc(50% + 11px), rgba(241, 248, 233, .86) calc(50% + 11px));
}
.solution-aligned-grid > .solution-focus-card,
.solution-aligned-grid > .crop-family-card {
  height: 100%;
  min-height: 0;
}
.solution-side {
  min-height: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 18px;
  scroll-margin-top: 108px;
}
.problem-side {
  background:
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,246,247,.78)),
    #fff3f5;
  border-color: #f5d5dc;
}
.crop-side {
  background:
    linear-gradient(135deg, rgba(255,255,255,.86), rgba(242,250,235,.82)),
    #f1f8e9;
  border-color: #d9ebca;
}
.solution-entry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.solution-entry-card {
  display: grid;
  grid-template-columns: 104px 1fr;
  align-items: center;
  gap: 18px;
  min-height: 220px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfc;
  box-shadow: 0 18px 44px rgba(25, 64, 42, .08);
}
.solution-entry-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 58px rgba(25, 64, 42, .12);
}
.solution-entry-card span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}
.solution-entry-card h2 {
  margin-top: 6px;
  color: var(--ink);
}
.solution-entry-card p {
  margin: 12px 0 0;
  color: var(--muted);
}
.solution-entry-icon {
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  font-weight: 900;
  font-size: 22px;
}
.solution-entry-icon svg,
.solution-card-icon svg,
.crop-family-head span svg {
  width: 30px;
  height: 30px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.solution-entry-icon svg {
  width: 36px;
  height: 36px;
}
.problem-entry .solution-entry-icon { background: #d84f65; }
.crop-entry .solution-entry-icon { background: var(--green); }
.solution-entry-icon.brand-entry-icon {
  width: 96px;
  height: 96px;
  border-radius: 0;
  background: transparent;
}
.problem-entry .solution-entry-icon.brand-entry-icon,
.crop-entry .solution-entry-icon.brand-entry-icon {
  background: transparent;
}
.solution-entry-icon .brand-entry-symbol {
  width: 94px;
  height: 94px;
  overflow: visible;
}
.brand-entry-symbol .brand-arc,
.brand-entry-symbol .brand-core {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.brand-entry-symbol .brand-arc {
  stroke-width: 12;
}
.brand-entry-symbol .brand-core {
  stroke-width: 4.25;
}
.brand-entry-symbol.problem .brand-arc { stroke: var(--magenta); }
.brand-entry-symbol.problem .brand-core { stroke: #dc176c; }
.brand-entry-symbol.crop .brand-arc { stroke: #86c81a; }
.brand-entry-symbol.crop .brand-core { stroke: #5b9c15; }
.problem-entry { background: linear-gradient(135deg, #fff, #fff0f2); border-color: #f2cfd6; }
.crop-entry { background: linear-gradient(135deg, #fff, #f1f8e9); border-color: #d8ebc8; }
.side-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  margin: 24px 4px 18px;
}
.side-heading h2 {
  font-size: clamp(24px, 2.8vw, 34px);
}
.side-heading p {
  max-width: 560px;
  margin: 0;
  color: var(--muted);
}
.problem-side .section-kicker { color: #d84f65; }
.crop-side .section-kicker { color: var(--green-2); }
.solution-process {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  margin-top: 18px;
  border: 1px solid var(--line);
  background: var(--line);
}
.solution-process span {
  display: grid;
  place-items: center;
  min-height: 72px;
  padding: 12px;
  background: #fff;
  color: #405148;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
}
.solution-focus-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.solution-focus-grid.compact {
  grid-template-columns: 1fr;
  gap: 12px;
}
.solution-focus-card {
  min-height: 360px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 16px 38px rgba(25, 64, 42, .06);
  scroll-margin-top: 112px;
}
.solution-focus-grid.compact .solution-focus-card {
  min-height: 0;
  padding: 18px;
}
.solution-aligned-grid .solution-focus-card {
  display: grid;
  grid-template-rows: auto auto auto auto auto;
  align-items: start;
  padding: 18px;
}
.solution-card-head {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}
.solution-aligned-grid .solution-card-icon {
  width: 52px;
  height: 52px;
  margin: 0;
}
.solution-aligned-grid .solution-card-icon svg {
  width: 26px;
  height: 26px;
}
.solution-aligned-grid .solution-focus-card h3 {
  align-self: center;
  margin: 0;
  font-size: 19px;
}
.solution-aligned-grid .solution-impact-image {
  margin-top: 18px;
}
.solution-focus-grid.compact .solution-card-icon {
  width: 46px;
  height: 46px;
  margin-bottom: 12px;
}
.solution-focus-grid.compact .solution-card-icon svg {
  width: 26px;
  height: 26px;
}
.solution-focus-grid.compact .solution-focus-card h3 {
  margin-bottom: 12px;
  font-size: 19px;
}
.solution-impact-image {
  position: relative;
  display: block;
  margin: 14px 0 4px;
  overflow: hidden;
  border: 1px solid rgba(111, 79, 24, .22);
  border-radius: 6px;
  background: #f5eadb;
  box-shadow: 0 14px 28px rgba(73, 47, 18, .16);
}
.solution-impact-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 8;
  object-fit: cover;
}
.solution-impact-image span {
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 6px 9px;
  border-radius: 4px;
  background: rgba(48, 56, 59, .86);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.solution-impact-image:hover img {
  filter: saturate(1.06) contrast(1.03);
}
.crop-impact-image {
  margin: 18px 0 4px;
  border: 1px solid rgba(111, 79, 24, .18);
  border-radius: 6px;
  box-shadow: none;
}
.crop-impact-image img {
  aspect-ratio: 16 / 8;
  object-fit: cover;
}
.crop-impact-image span {
  left: 12px;
  bottom: 12px;
}
.solution-focus-grid.compact .solution-card-block {
  margin-top: 10px;
  padding-top: 10px;
}
.solution-aligned-grid .solution-card-block {
  min-height: 92px;
  margin-top: 12px;
  padding-top: 12px;
}
.solution-card-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  margin-bottom: 18px;
  color: #fff;
  font-weight: 900;
}
.solution-focus-card.green .solution-card-icon { background: var(--green); }
.solution-focus-card.blue .solution-card-icon { background: var(--blue); }
.solution-focus-card.orange .solution-card-icon { background: var(--orange); }
.solution-focus-card.magenta .solution-card-icon { background: var(--magenta); }
.solution-focus-card h3 {
  margin: 0 0 18px;
  color: var(--ink);
  font-size: 22px;
}
.solution-focus-card h3 small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 14px;
}
.solution-card-block {
  border-top: 1px solid var(--line);
  padding-top: 14px;
  margin-top: 14px;
}
.solution-card-block strong {
  display: block;
  color: #405148;
  font-size: 13px;
  text-transform: uppercase;
}
.solution-card-block p {
  margin: 7px 0 0;
  color: var(--muted);
}
.crop-solution-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.crop-solution-grid.compact {
  grid-template-columns: 1fr;
  gap: 12px;
}
.crop-family-card {
  display: grid;
  grid-template-rows: auto auto auto auto auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(25, 64, 42, .06);
  padding: 18px;
}
.crop-family-card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}
.crop-solution-grid.compact .crop-family-card:last-child:nth-child(odd) {
  grid-column: auto;
}
.crop-family-head {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 12px;
  align-items: center;
  padding: 0;
  border-bottom: 0;
}
.crop-solution-grid.compact .crop-family-head {
  padding: 16px 18px;
}
.solution-aligned-grid .crop-family-head {
  padding: 0;
}
.crop-family-head span {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  font-weight: 900;
}
.crop-family-card.green .crop-family-head span { background: var(--green); }
.crop-family-card.blue .crop-family-head span { background: var(--blue); }
.crop-family-card.orange .crop-family-head span { background: var(--orange); }
.crop-family-card.magenta .crop-family-head span { background: var(--magenta); }
.crop-family-head h3 {
  margin: 0;
  font-size: 19px;
}
.crop-family-head p {
  margin: 2px 0 0;
  color: var(--muted);
  font-weight: 900;
}
.crop-family-summary {
  min-height: 92px;
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.crop-family-summary strong {
  display: block;
  color: #405148;
  font-size: 13px;
  text-transform: uppercase;
}
.crop-family-summary p {
  margin: 7px 0 0;
  color: var(--muted);
}
.crop-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 9px;
}
.crop-problem-pill {
  display: grid;
  gap: 3px;
  min-height: 66px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfdfc;
}
.crop-problem-pill strong {
  color: var(--ink);
  font-size: 14px;
}
.crop-problem-pill em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}
.more-crops-row {
  background:
    linear-gradient(135deg, rgba(132,197,30,.10), rgba(8,165,216,.08)),
    #fbfdfc;
}
.more-crops-row strong {
  color: var(--green-2);
}
.more-crops-row:hover {
  background:
    linear-gradient(135deg, rgba(132,197,30,.16), rgba(8,165,216,.12)),
    #fff;
}
.crop-family-card > .text-link,
.solution-focus-card > .text-link {
  align-self: end;
  margin-top: 14px;
}
.crop-issues,
.crop-route {
  color: var(--muted);
  font-size: 13px;
}
.crop-route {
  color: #405148;
  font-weight: 900;
}
.featured-solution-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.featured-solution-grid a {
  display: block;
  min-height: 150px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.featured-solution-grid b {
  display: block;
  color: var(--blue);
  font-size: 18px;
  margin-bottom: 10px;
}
.featured-solution-grid span {
  color: var(--muted);
  font-size: 14px;
}
.solution-group {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(25, 64, 42, .05);
  scroll-margin-top: 96px;
}
.solution-group .catalog-head span {
  background: var(--blue);
  font-size: 14px;
}
.solution-problem-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding: 22px 24px 26px;
}
.problem-card {
  display: block;
  min-height: 160px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfc;
  padding: 18px;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.problem-card:hover {
  transform: translateY(-2px);
  border-color: #bee9f7;
  box-shadow: 0 12px 24px rgba(25, 64, 42, .08);
}
.problem-card strong {
  display: block;
  color: var(--ink);
  font-size: 17px;
}
.problem-card span {
  display: block;
  margin-top: 4px;
  color: var(--green-2);
  font-weight: 900;
}
.problem-card p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 14px;
}
.knowledge-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.knowledge-card {
  min-height: 320px;
}
.knowledge-list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}
.knowledge-list a {
  display: block;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfc;
  color: #405148;
  font-weight: 800;
}
.product-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.product-gallery figure {
  min-height: 168px;
  margin: 0;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 16px 34px rgba(25, 64, 42, .12);
}
.product-gallery img {
  width: 100%;
  height: 136px;
  display: block;
  object-fit: contain;
  background: #fff;
  padding: 8px;
  box-sizing: border-box;
}
.product-gallery figcaption {
  padding: 9px 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.product-gallery .primary-product-image {
  grid-row: span 2;
}
.product-gallery .primary-product-image img {
  height: clamp(260px, 32vw, 360px);
  object-fit: contain;
  background: #fff;
  padding: 12px;
  box-sizing: border-box;
}
.product-image-placeholder {
  grid-row: span 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 320px;
  padding: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,255,255,.68)),
    radial-gradient(circle at top left, rgba(127, 199, 24, .22), transparent 42%),
    #f8fbf7;
}
.product-image-placeholder div {
  display: grid;
  gap: 12px;
}
.product-image-placeholder span {
  width: fit-content;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.8);
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.product-image-placeholder strong {
  color: var(--ink);
  font-size: 28px;
  line-height: 1.08;
}
.product-image-placeholder em {
  color: var(--muted);
  font-style: normal;
  font-weight: 800;
}
.product-image-placeholder.npk { border-color: rgba(127, 199, 24, .34); }
.product-image-placeholder.micro { border-color: rgba(247, 178, 68, .38); }
.product-image-placeholder.organic { border-color: rgba(16, 163, 213, .34); }
.product-image-placeholder.bio { border-color: rgba(225, 17, 119, .3); }
.product-image-placeholder.defense { border-color: rgba(126, 132, 136, .3); }
.note-box {
  margin-top: 14px;
  padding: 14px;
  border-radius: 14px;
  background: #fff8ea;
  border: 1px solid #ffe1a9;
  color: #6f4c05;
  font-size: 14px;
  font-weight: 700;
}
.faq-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}
.faq-list details {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fbfdfc;
  padding: 14px 16px;
}
.faq-list summary {
  cursor: pointer;
  color: var(--ink);
  font-weight: 900;
}
.faq-list p {
  margin: 10px 0 0;
}
.related-products {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.related-products a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fbfb;
  padding: 0 14px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}
.related-products a:hover {
  border-color: var(--blue);
  color: var(--blue);
}
.document-panel {
  position: sticky;
  top: 96px;
}
.document-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.document-panel-head h2 {
  margin-bottom: 0;
}
.document-panel-head > span {
  display: inline-flex;
  min-width: 48px;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid #bee9f7;
  border-radius: 999px;
  background: #eaf8fd;
  color: var(--blue);
  padding: 0 12px;
  font-size: 13px;
  font-weight: 900;
}
.gate-copy,
.gate-footnote {
  color: var(--muted);
  font-size: 14px;
}
.lead-form {
  display: grid;
  gap: 10px;
  margin: 18px 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfdfc;
}
.lead-form label {
  display: grid;
  gap: 6px;
  color: #3c4d44;
  font-size: 13px;
  font-weight: 800;
}
.lead-form input {
  width: 100%;
  min-height: 42px;
  border: 1px solid #cbdad0;
  border-radius: 10px;
  padding: 0 12px;
  font: inherit;
  background: #fff;
}
.lead-form .btn {
  width: 100%;
  margin-top: 4px;
}
.form-message {
  min-height: 20px;
  margin: 0;
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
}
.locked-note {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #fff5e2;
  color: #8a5608;
  font-size: 13px;
  font-weight: 800;
}
.document-gate.is-unlocked .locked-note {
  display: none;
}
.doc-list {
  display: grid;
  gap: 10px;
}
.doc-item {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8fbfb;
}
.doc-item strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
}
.doc-item span {
  color: var(--muted);
  font-size: 13px;
}
.doc-item.available {
  border-color: #bee9f7;
  background: #eaf8fd;
}
.doc-item.request {
  border-color: #ffe1a9;
  background: #fff8ea;
}
.doc-actions {
  display: none;
  flex-wrap: wrap;
  gap: 8px;
}
.document-gate.is-unlocked .doc-actions {
  display: flex;
}
.doc-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  padding: 0 12px;
  font-size: 12px;
  font-weight: 900;
}
.doc-actions a:hover {
  border-color: var(--blue);
  color: var(--blue);
}
.doc-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  margin: 10px 0;
  padding: 0 16px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: #f8fbfb;
  color: var(--ink);
  font-weight: 900;
}
.doc-link::after {
  content: "PDF";
  display: inline-grid;
  place-items: center;
  min-width: 44px;
  height: 26px;
  border-radius: 999px;
  background: #eaf8fd;
  color: var(--blue);
  font-size: 12px;
}
.doc-link:hover {
  border-color: var(--blue);
  color: var(--blue);
}
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 30px; }
.form {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 28px;
}
.form label { display: block; margin: 0 0 14px; color: #3c4d44; font-weight: 700; }
.form input, .form textarea, .form select {
  width: 100%;
  margin-top: 6px;
  border: 1px solid #cbdad0;
  border-radius: 6px;
  padding: 12px;
  font: inherit;
}
.form textarea { min-height: 130px; }

footer {
  background: #30383b;
  color: #d9e8de;
  padding: 46px 0;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 28px;
}
footer h4 { color: #fff; margin: 0 0 12px; }
footer p, footer a { color: #bcd3c4; font-size: 14px; }
.subfooter { border-top: 1px solid rgba(255,255,255,.12); margin-top: 28px; padding-top: 18px; font-size: 13px; color: #9fb8a8; }

@media (max-width: 860px) {
  .topbar .container, .nav-inner, .section-head, .cta-inner { align-items: flex-start; flex-direction: column; }
  .nav-links { flex-wrap: wrap; gap: 14px; }
  .nav-item { width: 100%; }
  .language-trigger {
    width: 100%;
    justify-content: flex-start;
  }
  .quick-menu {
    left: auto;
    width: min(330px, calc(100vw - 40px));
  }
  .language-menu {
    right: auto;
  }
  .board-tools { align-items: flex-start; flex-direction: column; }
  .hero { min-height: auto; }
  .hero-content { padding: 64px 0; }
  .page-hero.page-banner {
    min-height: 390px;
    padding: 74px 0 58px;
    background-position: 62% center;
  }
  .metrics, .product-grid, .stage-map, .two-col, .solution-row, .contact-grid, .footer-grid, .hero-split, .proof-grid, .product-detail-grid, .product-hero-grid, .quick-facts, .problem-solution, .benefit-grid, .solution-problem-grid, .knowledge-grid, .product-gallery, .company-video-grid, .solution-entry-grid, .solution-split-board, .solution-heading-grid, .solution-aligned-grid, .solution-focus-grid, .crop-solution-grid, .featured-solution-grid { grid-template-columns: 1fr; }
  .use-note-grid {
    grid-template-columns: 1fr;
  }
  .product-assurance-strip {
    grid-template-columns: 1fr;
  }
  .product-assurance-strip div {
    min-height: auto;
  }
  .solution-entry-card,
  .crop-family-head {
    grid-template-columns: 1fr;
  }
  .crop-list {
    grid-template-columns: 1fr;
  }
  .solution-process {
    grid-template-columns: 1fr;
  }
  .crop-family-card:last-child:nth-child(odd) {
    grid-column: auto;
  }
  .hero-split { gap: 28px; }
  .brand-window { padding: 18px; }
  .window-proof { grid-template-columns: 1fr; }
  .window-head { align-items: flex-start; flex-direction: column; }
  .product-hero-grid { gap: 28px; }
  .amazon-main-frame {
    aspect-ratio: 1 / 1;
  }
  .amazon-main-frame img,
  .amazon-main-frame video,
  .amazon-video-pending {
    height: 100%;
    min-height: 0;
  }
  .amazon-thumb-row {
    padding-bottom: 4px;
    grid-auto-columns: minmax(86px, 22%);
  }
  .amazon-thumb {
    min-width: 0;
  }
  .product-main-visual {
    min-height: 360px;
  }
  .product-main-visual img {
    height: 280px;
  }
  .carousel-head {
    display: grid;
  }
  .carousel-head span {
    text-align: left;
  }
  .carousel-window {
    grid-template-columns: 1fr;
  }
  .carousel-btn {
    display: none;
  }
  .carousel-track {
    grid-auto-columns: minmax(190px, 72%);
  }
  .image-zoom-lens {
    display: none;
  }
  .product-visual-card { min-height: auto; }
  .visual-grid { grid-template-columns: 1fr; }
  .visual-grid img:first-child { grid-column: auto; }
  .document-panel { position: static; }
  section { padding: 56px 0; }
}

@media (min-width: 861px) and (max-width: 1180px) {
  .nav-inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  .nav-links {
    width: 100%;
    flex-wrap: wrap;
  }
  .quick-menu {
    top: calc(100% + 8px);
  }
}
