/* =========================================================
   5/5 · RESPONSIVO — breakpoints (360px → 1440px+) e
   acessibilidade de movimento (prefers-reduced-motion)
   ========================================================= */

@media (min-width: 400px) {
  .brand-name { font-size: 1.12rem; letter-spacing: .05em; }
}

@media (min-width: 600px) {
  .container { padding-inline: 28px; }
  .cards-grid, .talks-grid, .receitas-grid { grid-template-columns: repeat(2, 1fr); }
  .videos-grid { grid-template-columns: repeat(3, 1fr); }
  .dif-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-actions .btn { flex: 0 0 auto; }
  .contact-form { padding: 36px 34px; }
  .footer-bottom { padding-bottom: 20px; }
  .politica-painel { padding: 48px 44px 40px; }
  .deco-traco { width: 300px; height: 300px; }
}

@media (min-width: 960px) {
  :root { --header-h: 80px; }
  .section { padding-block: 108px; }
  .brand-mark { width: 34px; }
  .brand-name { font-size: 1.24rem; letter-spacing: .03em; }
  .brand-role { font-size: .74rem; }
  .brand { gap: 12px; }

  .hero { padding: calc(var(--header-h) + 64px) 0 110px; }
  .hero::before { right: -12%; top: -18%; width: 62vw; }
  .hero-grid { grid-template-columns: 1.1fr .9fr; gap: 64px; }
  .hero-media { width: 100%; }
  .hero-flor { width: 72px; height: 72px; right: -26px; }

  .cards-grid { grid-template-columns: repeat(4, 1fr); }
  .card { padding: 26px 22px; }
  .steps-layout { grid-template-columns: 1.15fr .85fr; gap: 80px; }
  .dif-grid { grid-template-columns: repeat(4, 1fr); gap: 28px; }
  .receitas-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; }
  .videos-grid { gap: 26px; max-width: 900px; margin-inline: auto; }
  .contact-grid { grid-template-columns: 1.05fr .95fr; gap: 64px; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1.4fr; }
}

/* Menu horizontal só quando cabem logo + 6 links + botão */
@media (min-width: 1200px) {
  .menu-toggle { display: none; }
  .main-nav {
    position: static; visibility: visible; opacity: 1; transform: none;
    flex-direction: row; align-items: center; gap: 18px;
    background: none; padding: 0; box-shadow: none; transition: none;
  }
  .main-nav ul { flex-direction: row; gap: 2px; }
  .main-nav ul a { border: 0; padding: 8px 9px; font-size: .95rem; position: relative; white-space: nowrap; }
  .nav-cta { white-space: nowrap; }
  .main-nav ul a::after {
    content: ""; position: absolute; left: 9px; right: 9px; bottom: 2px; height: 1.5px;
    background: var(--verde-oliva); transform: scaleX(0); transform-origin: left;
  }
  .main-nav ul a:hover::after, .main-nav ul a[aria-current="true"]::after { transform: scaleX(1); }
  .nav-cta { align-self: auto; }
}

@media (min-width: 1440px) {
  .container { max-width: 1260px; }
  .vine { max-width: 1260px; }
}

/* Folhas grandes do hero só onde há espaço lateral */
@media (max-width: 599px) {
  .hf-1, .hf-3, .hf-5, .hf-6, .hf-7 { display: none; }
  /* Ilustrações: só as de canto, menores e mais claras, para não disputar com o texto */
  .bt-hero-margarida, .bt-pal-margarida, .bt-faq-margarida, .bt-faq-samambaia { display: none; }
  .botanica { opacity: .22; scale: .75; }
  .hn-1, .hn-4 { display: none; }
  .hn-2 { left: auto; right: 6%; top: 40%; }
  .faixa-trilho li { font-size: 1.25rem; }
  .faixa-icone { width: 32px; height: 32px; }
}

@media (min-width: 960px) {
  .botanica { opacity: .4; }
  .bt-hero-ramo { width: 190px; height: 304px; left: -20px; }
  .bt-sobre { width: 130px; height: 325px; right: 2%; }
  .bt-atend { width: 170px; height: 319px; left: 1%; }
  .bt-como { width: 200px; height: 320px; right: 1%; }
  .bt-faq-samambaia { width: 120px; height: 300px; }
  .bt-contato { width: 210px; height: 336px; right: 0; }
  .bt-rodape { width: 150px; height: 281px; opacity: .22; }
  .nutri-canto { display: block; }
}

/* ---------- Movimento reduzido: tudo aparece pronto, sem animar ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important; animation-delay: 0s !important;
    transition-duration: .01ms !important; transition-delay: 0s !important;
  }
  .intro { display: none !important; }
  .js .reveal, .js .hero-in, .js .hero-card, .js .whats-float, .js .bloom { opacity: 1; transform: none; filter: none; }
  .js .reveal-mask > * { clip-path: none; }
  .js .reveal-mask img, .js .hero-foto img { transform: none; }
  .js .reveal-mask img, .js .reveal-mask figcaption { opacity: 1; }
  .js .reveal-mask .photo-frame::after, .js .reveal-mask .talk-img::after, .js body::after { display: none; }
  .js .reveal .eyebrow { letter-spacing: .16em; opacity: 1; }
  .js .hero-copy, .js .hero-media { translate: none; scale: none; opacity: 1; }
  .progresso, .cursor-anel { display: none; }
  .btn { translate: none; }
  [data-parallax-img] img, .hero-folhas { translate: none; }
  .js .vine-caule, .js .deco-traco path, .js .dif-tracos path, .js .grifo path { stroke-dashoffset: 0; }
  .js .vine-folha, .js .vine-flor { opacity: 1; scale: 1; }
  .js .timeline::before { transform: none; }
  .js .dif-grid li .icon { transform: none; }
  .petalas-caindo { display: none; }
  .js .cena > .container { opacity: 1; transform: none; }
  .js .cena.section-salvia, .js .cena.diferenciais { clip-path: none; }
  .js .botanica { stroke-dashoffset: 0; transform: none; }
  .js [data-split-rolagem] .w > span { transform: none; }
  .transicao { display: none; }
  .js .hn { stroke-dashoffset: 0; }
}
