* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Barlow', system-ui, sans-serif; color: #26241F; background: #F4F3F0; min-height: 100vh; -webkit-font-smoothing: antialiased; }
a { color: #B02A1F; text-decoration: none; }
a:hover { color: #8A2015; }
img, video { max-width: 100%; }
input, select, textarea, button { font-family: inherit; }
input:focus, select:focus, textarea:focus { outline: none; border-color: #B02A1F; }

/* estados hover */
.hov-red:hover { color: #B02A1F; }
.btn-red:hover { background: #8A2015; border-color: #8A2015; color: #FFFFFF; }
.btn-dark:hover { background: #1C1B18; color: #FFFFFF; }
.arrow:hover { background: #B02A1F; border-color: #B02A1F; }

/* animaciones de los pictogramas de divisiones */
@keyframes tzHook { 0%,100%{transform:translateY(0)} 50%{transform:translateY(9px)} }
@keyframes tzSpin { to{transform:rotate(360deg)} }
@keyframes tzRoad { to{transform:translateX(-24px)} }
@keyframes tzDrop { 0%{opacity:0;transform:translateY(-16px)} 55%,100%{opacity:1;transform:translateY(0)} }
@keyframes tzBob { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-2.5px)} }

@media (max-width: 860px) {
  .logo { height: 64px !important; }
  .stack { grid-template-columns: 1fr !important; gap: 28px !important; }
  .stack > div { padding-left: 0 !important; padding-right: 0 !important; border-right: none !important; }
  .hide-sm { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
}
