/* Ajustes sutiles para integrar mejor los elementos visuales sin cambiar la línea gráfica del sitio. */
    .about-grid {
      grid-template-columns: minmax(0, 1fr);
      gap: 26px;
      max-width: 860px;
      margin-inline: auto;
    }
    .about-mark {
      position: static;
      display: flex;
      align-items: center;
      gap: 18px;
    }
    .about-mark span { margin-bottom: 0; }
    .about-line { width: 82px; flex: 0 0 82px; }
    .about-content { max-width: 860px; }
    .scope-strip { margin-top: 30px; }

    .section-heading--soft {
      max-width: 760px;
      margin-inline: auto;
      margin-bottom: 34px;
      text-align: center;
    }

    .link-showcase {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
      gap: 28px;
      align-items: stretch;
      padding: 30px;
      background: var(--white);
      border: 1px solid rgba(44,62,31,.08);
      border-radius: 10px;
      box-shadow: 0 18px 44px rgba(26,36,16,.08);
    }
    .link-showcase-copy {
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-width: 0;
    }
    .link-showcase-copy .division-top { margin-bottom: 18px; }
    .link-showcase-copy .division-icon { color: rgba(61,89,38,.72); }
    .link-showcase-title {
      margin: 0 0 6px;
      color: var(--dark-green);
      font-size: clamp(2.5rem, 5vw, 3.6rem);
      line-height: .95;
      letter-spacing: -.03em;
      font-family: 'Playfair Display', serif;
    }
    .link-showcase-subtitle {
      margin: 0 0 18px;
      color: var(--accent-green);
      font-family: 'Crimson Pro', serif;
      font-style: italic;
      font-size: 1.12rem;
    }
    .link-showcase-text {
      margin: 0;
      max-width: 52ch;
      color: var(--copy);
      line-height: 1.72;
    }
    .link-showcase-features {
      display: grid;
      gap: 10px;
      margin: 24px 0 28px;
      padding: 0;
      list-style: none;
    }
    .link-showcase-features li {
      position: relative;
      padding-left: 18px;
      color: var(--dark-green);
      line-height: 1.55;
    }
    .link-showcase-features li::before {
      content: '';
      position: absolute;
      left: 0;
      top: .62em;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--accent-green);
    }
    .link-showcase .division-cta {
      align-self: flex-start;
      margin-top: 0;
    }

    .link-photo-panel {
      position: relative;
      width: 100%;
      min-height: 350px;
      height: 100%;
      overflow: hidden;
      border-radius: 10px;
      background: var(--light-green);
      box-shadow: inset 0 0 0 1px rgba(44,62,31,.06);
    }
    .link-photo-panel picture,
    .link-photo-panel img { width: 100%; height: 100%; display: block; }
    .link-photo-panel img {
      object-fit: cover;
      object-position: center 52%;
      transition: transform .7s ease;
    }
    .link-photo-panel::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(26,36,16,.02) 35%, rgba(26,36,16,.5) 100%);
      pointer-events: none;
    }
    .link-photo-panel:hover img { transform: scale(1.018); }
    .link-photo-caption {
      position: absolute;
      z-index: 1;
      left: 24px;
      bottom: 20px;
      color: var(--white);
      font-family: 'Crimson Pro', serif;
      font-style: italic;
      font-size: 20px;
      letter-spacing: .01em;
      text-shadow: 0 2px 14px rgba(0,0,0,.22);
    }

    .link-value-flow {
      margin: 0 0 36px;
      padding: 26px 28px;
      background: var(--white);
      border: 1px solid rgba(44,62,31,.08);
      border-radius: 8px;
      box-shadow: 0 10px 30px rgba(26,36,16,.055);
    }
    .link-value-flow-title {
      display: block;
      margin-bottom: 22px;
      color: var(--accent-green);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 2.5px;
      text-transform: uppercase;
      text-align: center;
    }
    .link-value-flow-track {
      display: grid;
      grid-template-columns: minmax(0,1fr) 44px minmax(0,1fr) 44px minmax(0,1fr);
      align-items: center;
      gap: 10px;
    }
    .link-value-node {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      min-width: 0;
      text-align: left;
    }
    .link-value-icon {
      width: 48px;
      height: 48px;
      flex: 0 0 48px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--light-green);
      color: var(--mid-green);
    }
    .link-value-icon svg { width: 25px; height: 25px; }
    .link-value-node strong {
      display: block;
      color: var(--dark-green);
      font-size: 13px;
      line-height: 1.35;
      letter-spacing: .7px;
      text-transform: uppercase;
    }
    .link-value-arrow {
      color: rgba(61,89,38,.38);
      display: grid;
      place-items: center;
    }
    .link-value-arrow svg { width: 30px; height: 18px; }

    /* Mayor contraste para los numerales de la sección de desafíos. */
    .problem-num {
      color: rgba(255,255,255,.82);
    }

    @media (max-width: 980px) {
      .link-showcase {
        grid-template-columns: 1fr;
        padding: 26px;
      }
      .link-photo-panel {
        min-height: 300px;
      }
    }
    @media (max-width: 700px) {
      .about-grid { gap: 20px; }
      .about-mark { gap: 14px; }
      .about-line { width: 64px; flex-basis: 64px; }
      .section-heading--soft { margin-bottom: 28px; text-align: left; }
      .link-showcase { padding: 20px; gap: 20px; }
      .link-showcase-title { font-size: 2.35rem; }
      .link-photo-panel { min-height: 230px; }
      .link-photo-caption { left: 18px; right: 18px; bottom: 16px; font-size: 18px; }
      .link-value-flow { padding: 24px 22px; margin-bottom: 30px; }
      .link-value-flow-track { grid-template-columns: 1fr; gap: 14px; }
      .link-value-node { justify-content: flex-start; max-width: 270px; width: 100%; margin-inline: auto; }
      .link-value-arrow { transform: rotate(90deg); height: 20px; }
      .link-value-arrow svg { width: 25px; }
    }
    @media (prefers-reduced-motion: reduce) {
      .link-photo-panel img { transition: none; }
      .link-photo-panel:hover img { transform: none; }
    }
    .turnstile-wrap { margin: 18px 0 16px; min-height: 65px; display: flex; align-items: center; }
    .turnstile-wrap[aria-busy="true"]::before { content: "Cargando verificación de seguridad…"; color: var(--copy); font-size: 14px; }

    /* Seguridad y privacidad del formulario */
    .form-security-note {
      margin: -2px 0 2px;
      color: rgba(44,62,31,.72);
      font-size: 12px;
      line-height: 1.55;
    }
    .form-consent {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin: 2px 0 16px;
      color: rgba(44,62,31,.86);
      font-size: 12px;
      line-height: 1.55;
    }
    .form-consent input {
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      margin-top: 2px;
      accent-color: var(--mid-green);
    }
    .form-consent a,
    .footer-privacy-link {
      color: inherit;
      text-decoration: underline;
      text-underline-offset: 3px;
    }
    .form-consent a:hover,
    .footer-privacy-link:hover { color: var(--accent-green); }


/* Corrección de proporción del logo principal.
   Evita que el atributo HTML de altura fija deforme el logo cuando cambia su ancho en móvil. */
.hero-logo {
  height: auto !important;
  object-fit: contain;
}

/* Aliados: seis tarjetas equilibradas en escritorio y escala específica para Burlap & Barrel. */
.partners-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.partner-logo--burlap {
  max-width: 190px;
  max-height: 58px;
}
@media (max-width: 600px) {
  .partners-grid { grid-template-columns: 1fr; }
  .partner-logo--burlap { max-width: 180px; }
}
