/* ============================================================
   Responsividade
   ============================================================ */

/* Large desktop */
@media (max-width: 1280px) {
  .footer__grid {
    grid-template-columns: 1.6fr 1fr 1fr;
  }
  .footer__brand { grid-column: 1 / -1; }
}

/* Desktop */
@media (max-width: 1024px) {
  .hero__inner {
    grid-template-columns: 180px 1fr;
    gap: 2rem;
  }
  .hero__brand-mark { width: 100px; height: 100px; }
  .hero__brand-name { font-size: 1.3rem; }

  .about__grid,
  .manage__grid,
  .process__grid {
    grid-template-columns: 1fr;
    gap: 2.6rem;
  }
  .process__media,
  .about__media {
    max-width: 520px;
    margin-inline: auto;
  }

  .contact__grid-cards {
    grid-template-columns: 1fr 1fr;
  }

  .footer__grid {
    grid-template-columns: 1fr 1fr;
  }
  .footer__brand { grid-column: 1 / -1; }
}

/* Tablet */
@media (max-width: 768px) {
  .nav__toggle { display: inline-flex; }
  .nav__list {
    position: fixed;
    top: 0; right: 0;
    width: min(82vw, 340px);
    height: 100dvh;
    background: var(--c-green-deep);
    flex-direction: column;
    justify-content: center;
    gap: 1.6rem;
    padding: 4rem 2rem;
    transform: translateX(100%);
    transition: transform .45s var(--ease);
    font-size: 1.1rem;
    box-shadow: -20px 0 50px rgba(0,0,0,.25);
    z-index: 200;
  }
  .nav__list.is-open { transform: translateX(0); }
  .nav__list a { padding: .6rem 0; }
  .nav__cta { align-self: flex-start; }
  body.is-locked { overflow: hidden; }

  .nav__toggle {
    position: relative;
    z-index: 210;
  }

  .hero { padding: 7rem 0 3rem; min-height: auto; }
  .hero__inner {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 2rem;
  }
  .hero__brand {
    flex-direction: row;
    justify-content: center;
    padding-right: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.15);
    padding-bottom: 1.5rem;
  }
  .hero__brand-mark { width: 70px; height: 70px; }
  .hero__brand-name { font-size: 1.2rem; }
  .hero__actions { justify-content: center; }
  .hero__lead { margin-inline: auto; }

  .about,
  .journey,
  .line,
  .manage,
  .process,
  .products,
  .stance,
  .contact {
    padding: 5rem 0;
  }

  .badge-pill {
    writing-mode: horizontal-tb;
    right: 1rem;
    top: auto;
    bottom: -16px;
    padding: .8rem 1.2rem;
    font-size: .8rem;
  }
  .seed-deco { width: 140px; left: -30px; top: -20px; }

  .line__grid { grid-template-columns: 1fr; }
  .line-card__body { padding: 1.4rem; }
  .line-card__title { font-size: 1.8rem; }

  .contact__grid-cards {
    grid-template-columns: 1fr;
  }

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

  .footer__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 3rem 0 2rem;
  }
  .footer__bottom-inner { justify-content: center; text-align: center; }
}

/* Mobile */
@media (max-width: 480px) {
  :root {
    --radius-lg: 22px;
    --radius-md: 14px;
  }
  .container { width: min(100% - 1.6rem, var(--container)); }

  .hero { padding: 6rem 0 2rem; }
  .hero__brand { flex-direction: column; gap: .6rem; }
  .hero__lead { font-size: .95rem; }

  .about__card { padding: 1.5rem; }
  .check-list { grid-template-columns: 1fr; }

  .manage__card { padding: 1.8rem; }
  .manage__list li { padding: .7rem 1rem .7rem .7rem; font-size: .88rem; }

  .contact__info-card { padding: 1.1rem 1.2rem; gap: .8rem; }
  .contact__info-icon { width: 44px; height: 44px; font-size: 1rem; }
  .contact__info-card--highlight { flex-direction: column; align-items: flex-start; }

  .product-card--cta { min-height: auto; padding: 2.2rem 1.6rem; }
  .product-card--cta h3 { font-size: 1.5rem; }

  .whats-float {
    right: 1rem;
    bottom: 1rem;
    width: 52px; height: 52px;
  }
  .whats-float i { font-size: 1.5rem; }
}

@media (max-width: 600px) {
  .hero__bg { animation: none; transform: none; }
  .hero__scroll { display: none; }
}
