/* ================================================================
   Responsividade — breakpoints fáceis de localizar e editar.
   ================================================================ */

@media (max-width: 1180px) {
  :root { --header-height: 72px; }
  .header-inner { width: min(100% - 28px, 1180px); gap: 18px; }
  .desktop-nav { gap: 18px; }
  .desktop-nav a { font-size: .72rem; }
  .header-cta { display: none; }
  .hero { min-height: 850px; }
  .hero-layout { grid-template-columns: 1fr .8fr; }
  .factory-flow { overflow-x: auto; justify-content: flex-start; }
  .factory-station { flex: 0 0 158px; }
  .flow-arrow { flex: 0 0 auto; }
  .network-grid { grid-template-columns: 1fr 300px; }
  .contractor-card { width: 205px; }
  .dashboard-kpis { grid-template-columns: repeat(3, 1fr); }
  .dashboard-kpis article:nth-child(3n) { border-right: 0; }
}

@media (max-width: 920px) {
  .desktop-nav { display: none; }
  .header-actions { margin-left: auto; }
  .mobile-menu-button { display: grid; }
  .mobile-nav:not([hidden]) { display: block; }
  .section { padding: 92px 0; }
  .section-heading { grid-template-columns: 1fr; gap: 8px; }
  .section-index { padding-top: 0; }
  .hero { min-height: auto; }
  .hero-layout { grid-template-columns: 1fr; padding-block: 110px 70px; }
  .hero-live-layer { min-height: 470px; }
  .factory-summary { grid-template-columns: repeat(2, 1fr); }
  .factory-summary > div:nth-child(2) { border-right: 0; }
  .factory-summary > div:nth-child(-n+2) { border-bottom: 1px solid #dbe4e9; }
  .network-kpis { grid-template-columns: repeat(3, 1fr); }
  .network-kpis article:nth-child(3) { border-right: 0; }
  .network-kpis article:nth-child(-n+3) { border-bottom: 1px solid rgba(162,202,210,.16); }
  .network-grid { grid-template-columns: 1fr; }
  .network-side { grid-template-columns: 1fr 1fr; }
  .balance-grid, .technology-grid, .shift-layout, .contact-layout { grid-template-columns: 1fr; }
  .hourly-grid { grid-template-columns: 1fr; }
  .hourly-table-wrap { border-right: 0; border-bottom: 1px solid rgba(158,199,207,.16); }
  .dashboard-lower { grid-template-columns: 1fr; }
  .area-chart { border-right: 0; border-bottom: 1px solid #dbe4e8; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid > div:last-child { display: none; }
}

@media (max-width: 680px) {
  :root { --header-height: 66px; }
  .container { width: min(100% - 30px, var(--container)); }
  .header-inner { width: calc(100% - 20px); }
  .brand img { width: 96px; }
  .icon-button { display: none; }
  .language-button { min-width: 96px; height: 38px; }
  .mobile-menu-button { width: 40px; height: 38px; }
  .section { padding: 72px 0; }
  h2 { font-size: clamp(2.1rem, 11vw, 3.2rem); }
  .hero h1 { font-size: clamp(3rem, 15vw, 4.8rem); }
  .hero-layout { padding-block: 85px 54px; }
  .button-row { flex-direction: column; align-items: stretch; }
  .hero-live-layer { min-height: 520px; }
  .floating-card { width: min(235px, 70vw); }
  .card-op { top: 5%; left: 0; }.card-plan { top: 30%; right: 0; }.card-cell { bottom: 22%; left: 4%; }.card-rfid { right: 0; bottom: 0; }
  .factory-summary { grid-template-columns: 1fr 1fr; }.factory-summary > div { padding: 16px; }.factory-summary strong { font-size: 1.15rem; }
  .factory-flow { min-height: 345px; padding: 42px 18px 75px; }
  .factory-station { min-height: 224px; }
  .network-toolbar { align-items: stretch; flex-direction: column; }
  .segmented { width: 100%; }.segmented button { flex: 1; }
  .sync-label { margin-left: 0; justify-content: space-between; }
  .network-kpis { grid-template-columns: repeat(2, 1fr); }.network-kpis article { padding: 15px; }.network-kpis article:nth-child(3) { border-right: 1px solid rgba(162,202,210,.16); }.network-kpis article:nth-child(2n) { border-right: 0; }.network-kpis article:nth-child(-n+4) { border-bottom: 1px solid rgba(162,202,210,.16); }
  .network-visual { min-height: auto; display: block; padding: 18px; }.central-hub, .network-lines { display: none; }.contractor-cards { position: static; display: grid; gap: 9px; }.contractor-card { position: static; width: 100%; }.contractor-detail { grid-template-columns: 1fr; }.network-side { grid-template-columns: 1fr; }
  .gantt-summary { grid-template-columns: 1fr; }.gantt-summary > div { border-right: 0; border-bottom: 1px solid #dce5e9; }.gantt-detail { grid-template-columns: repeat(2, 1fr); }.gantt-detail > div:first-child { grid-column: 1 / -1; }
  .balance-grid { gap: 14px; }.yamazumi-chart { height: 340px; gap: 6px; padding-inline: 12px; }.yama-bar { width: 72%; }.yama-bar strong { font-size: .56rem; }
  .shift-toolbar { align-items: stretch; flex-direction: column; gap: 14px; }.shift-actions { display: grid; grid-template-columns: repeat(3, 1fr); }.shift-kpis { grid-template-columns: repeat(2, 1fr); }.shift-kpis article:nth-child(2) { border-right: 0; }.shift-kpis article:nth-child(-n+2) { border-bottom: 1px solid rgba(158,199,207,.14); }.line-chart { overflow-x: auto; }.line-chart svg { min-width: 560px; }
  .camera-feed, .rfid-stage { height: 340px; }.detection-box { inset-inline: 55px; }.scan-line { left: 55px; right: 55px; }.rfid-route { overflow-x: auto; justify-content: flex-start; }.rfid-route div { flex: 0 0 62px; }.rfid-route > i { flex: 0 0 30px; }
  .dashboard-kpis { grid-template-columns: repeat(2, 1fr); }.dashboard-kpis article:nth-child(3n) { border-right: 1px solid #dbe4e8; }.dashboard-kpis article:nth-child(2n) { border-right: 0; }
  .contact-form { padding: 21px 17px; }.form-grid { grid-template-columns: 1fr; gap: 0; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }.footer-grid > div:first-child { grid-column: 1 / -1; }.footer-bottom { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
