* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #F7F1E8; color: #241634; font-family: 'Outfit', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a { color: #A08356; text-decoration: none; }
a:hover { color: #7A6240; }

/* Responsive básico: el diseño se trabajó a 1200px. */
@media (max-width: 960px) {
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; gap: 32px !important; }
  section, header, footer { padding-left: 22px !important; padding-right: 22px !important; }
  h1 { font-size: clamp(40px, 10vw, 60px) !important; }
  h2 { font-size: clamp(32px, 8vw, 44px) !important; }
}
@media (max-width: 720px) {
  header nav > a:not(:last-child) { display: none; }
  [style*="display: flex; gap: 30px"] { flex-wrap: wrap; gap: 12px 20px !important; }
}
