/* =========================================================
   VISION
========================================================= */

.visionCompare{
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 22px);
}

@media (max-width: 920px){
  .visionCompare{ grid-template-columns: 1fr; }
}

.visionCard{
  padding: clamp(18px, 2.2vw, 24px);
  background: var(--surface);
  border: 1px solid rgba(15,47,31,.10);
  box-shadow: 0 10px 26px rgba(15,47,31,.06);
  border-radius: 15px;
}

.visionCard--brand{
  background: linear-gradient(180deg, rgba(118,193,74,.06), rgba(255,255,255,.92));
  border-color: rgba(118,193,74,.22);
}

.visionCard__top{ margin-bottom: 14px; }

.visionBadge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.visionBadge--neutral{
  background: rgba(15,47,31,.06);
  border: 1px solid rgba(15,47,31,.12);
  color: rgba(15,47,31,.86);
}

.visionBadge--brand{
  background: rgba(118,193,74,.14);
  border: 1px solid rgba(118,193,74,.24);
  color: var(--brand-900);
}

.visionCard__title{
  margin: 0 0 6px;
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--brand-900);
}

.visionCard__text{
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  max-width: 56ch;
}

/* Diagram base */
.visionDiagram{
  position: relative;
  height: 220px;
  border-radius: var(--radius-md);
  background: rgba(15,47,31,.04);
  border: 1px dashed rgba(15,47,31,.12);
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: 14px;
}

.visionSvg{
  width: min(560px, 100%);
  height: auto;
  max-height: 100%;
  display: block;
}

/* =========================
   VISION CARD - BRAND DARK
========================= */

.visionCard--brand{
  position: relative;
  isolation: isolate;
  background:
    linear-gradient(180deg, rgba(15,47,31,.98), rgba(12,42,28,.98));
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 24px 58px rgba(15,47,31,.20);
  overflow: hidden;
}

.visionCard--brand::after{
  content: "";
  position: absolute;
  inset: auto -20% -34% 18%;
  height: 220px;
  background: rgba(118,193,74,.10);
  filter: blur(44px);
  transform: rotate(-8deg);
  z-index: -1;
  pointer-events: none;
}

.visionCard--brand .visionBadge--brand{
  background: rgba(118,193,74,.15);
  border-color: rgba(118,193,74,.26);
  color: var(--on-dark-kicker);
}

.visionCard--brand .visionCard__title{
  color: var(--on-dark);
}

.visionCard--brand .visionCard__text{
  color: var(--on-dark-muted);
}

.visionCard--brand .visionDiagram{
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.12);
}

.visionCard--brand .vLabel{
  color: #fff;
  background: rgba(118,193,74,.8);;
  border-color: rgba(118,193,74,.24);
  backdrop-filter: blur(12px);
}

.visionCard--brand .visionCard__foot{
  border-top-color: rgba(255,255,255,.10);
}

.visionCard--brand .chip__brand{
  background: rgba(118,193,74,.14);
  border-color: rgba(118,193,74,.24);
  color: rgba(255,255,255,.90);
}


.dest{
  right: 16px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(118,193,74,.12);
  border: 1px solid rgba(118,193,74,.22);
  color: var(--brand-900);
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(15,47,31,.06);
}


/* Lines (direct) */
.visionDiagram--direct::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    /* La Campiña -> destinations */
    linear-gradient(0deg, rgba(118,193,74,.42), rgba(118,193,74,.42)) 52% 40px / 2px 0 no-repeat,
    linear-gradient(12deg, rgba(118,193,74,.36), rgba(118,193,74,.36)) 180px 74px / 420px 2px no-repeat,
    linear-gradient(2deg,  rgba(118,193,74,.36), rgba(118,193,74,.36)) 180px 94px / 420px 2px no-repeat,
    linear-gradient(-10deg,rgba(118,193,74,.36), rgba(118,193,74,.36)) 180px 114px / 420px 2px no-repeat,
    linear-gradient(-22deg,rgba(118,193,74,.36), rgba(118,193,74,.36)) 180px 134px / 420px 2px no-repeat,

    /* Hubs -> destinations (subtle) */
    linear-gradient(12deg, rgba(15,47,31,.18), rgba(15,47,31,.18)) 150px 172px / 450px 2px no-repeat,
    linear-gradient(0deg,  rgba(15,47,31,.18), rgba(15,47,31,.18)) 150px 184px / 450px 2px no-repeat,
    linear-gradient(-10deg,rgba(15,47,31,.18), rgba(15,47,31,.18)) 150px 196px / 450px 2px no-repeat;
  opacity: 1;
}

/* Foot */
.visionCard__foot{
  margin-top: 14px;
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
}

/* Statement */
.visionStatement{
  margin: 18px auto 0;
  max-width: 92ch;
  text-align: center;
  color: var(--brand-muted);
  line-height: 1.7;
  font-weight: 650;
}

.visionDiagram--labeled{
  position: relative;
}

.visionDiagram--labeled > svg.visionSvg{
  width: 100%;
  height: 100%;
  display: block;
}

.vLabel{
  position: absolute;
  z-index: 3;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .01em;

  background: rgb(255, 255, 255);
  border: 1px solid rgba(15,47,31,.14);
  color: var(--brand-900);
  box-shadow: 0 8px 18px rgba(15,47,31,.06);
  backdrop-filter: blur(6px);
  user-select: none;
}

.vLabel--producer{ left: 24%; top: 60%; transform: translate(-50%,-50%); }
.vLabel--trader  { left: 48%; top: 60%; transform: translate(-50%,-50%); }
.vLabel--unknown { left: 83%; top: 22%; transform: translate(-50%,-50%); }

.vLabel--campina{ left: 19%; top: 60%; transform: translate(-50%,-50%); }
.vLabel--hubs  { left: 48.2%; top: 60%; transform: translate(-50%,-50%); }
.vLabel--clients  { left: 77%; top: 60%; transform: translate(-50%,-50%); }



@media (max-width: 520px){
  .vLabel{ font-size: 11px; padding: 5px 9px; }
  .vLabel--unknown{ top: 18%; }
}

.visionSvg{ color: rgba(22, 41, 32, 0.92); }
.visionCard__examples{
  margin: 8px 0 0;
  color: var(--muted);
  font-size: .95rem;
  line-height: 1.5;
}
.visionCard__examples strong{
  color: var(--brand-900);
  font-weight: 850;
}

.vPills{
  position: absolute;
  right: 14px;
  bottom: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  max-width: 220px;
  z-index: 3;
}

.vPills .chip__brand{
  font-size: 12px;
  padding: 6px 10px;
  box-shadow: 0 10px 22px rgba(15,47,31,.06);
}

@media (max-width: 520px){
  .vPills{ max-width: 180px; }
  .vPills .chip__brand{ font-size: 11px; padding: 5px 9px; }
}