* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Manrope', system-ui, sans-serif; color: #1B2138; background: #fff; }
section[id] { scroll-margin-top: 90px; }

[data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-in { opacity: 1; transform: none; }

/* Header responsive */
@media (max-width: 860px) {
  [data-nav-desktop] { display: none !important; }
  [data-cta-desktop] { display: none !important; }
  [data-menu-btn] { display: inline-flex !important; }
}

/* Footer responsive */
@media (max-width: 860px) {
  [data-foot-grid] { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 520px) {
  [data-foot-grid] { grid-template-columns: 1fr !important; }
}

/* Home */
@media (max-width: 940px) {
  [data-hero-grid] { grid-template-columns: 1fr !important; }
  [data-two-col] { grid-template-columns: 1fr !important; }
}
@media (max-width: 720px) {
  [data-quad] { grid-template-columns: 1fr 1fr !important; }
  [data-blog-grid] { grid-template-columns: 1fr !important; }
  [data-h1] { font-size: 42px !important; }
}
@media (max-width: 480px) {
  [data-quad] { grid-template-columns: 1fr !important; }
  [data-h1] { font-size: 34px !important; }
}

/* Produtos */
@media (max-width: 940px) {
  [data-prod-grid] { grid-template-columns: 1fr !important; }
  [data-feat-grid] { grid-template-columns: 1fr !important; }
  [data-prod-grid][data-flip] > div:first-child { order: 2; }
}

/* Sobre / Contato */
@media (max-width: 940px) { [data-two] { grid-template-columns: 1fr !important; } }
@media (max-width: 900px) { [data-two] { grid-template-columns: 1fr !important; } }
@media (max-width: 720px) {
  [data-values] { grid-template-columns: 1fr !important; }
}

/* Blog */
@media (max-width: 940px) {
  [data-grid] { grid-template-columns: 1fr 1fr !important; }
  [data-feature] { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
  [data-grid] { grid-template-columns: 1fr !important; }
}

/* Generic H1 breakpoints used across pages (produtos/sobre/blog/contato share [data-h1]) */
@media (max-width: 720px) { [data-h1] { font-size: 40px !important; } }
@media (max-width: 640px) { [data-h1] { font-size: 38px !important; } }
@media (max-width: 480px) { [data-h1] { font-size: 32px !important; } }

/* Mobile nav panel */
[data-mobile-panel] { display: none; }
[data-mobile-panel].is-open { display: block; }
