:root {
  --primary-color: #2c3e50;
  --accent-color: #e74c3c;
  --bg-color: #f5f6fa;
  --text-color: #333;
  --card-bg: #fff;
  --radius: 8px;
  --transition: 0.3s;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Segoe UI', sans-serif; background: var(--bg-color); color: var(--text-color); line-height: 1.6; }
header { background: var(--primary-color); color: #fff; padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: center; }
header h1 { font-size: 1.8rem; }
nav ul { list-style: none; display: flex; gap: 1rem; }
nav a { color: #fff; text-decoration: none; transition: var(--transition); }
nav a:hover { color: var(--accent-color); }
.container { max-width: 1100px; margin: 2rem auto; padding: 0 1rem; }
section { margin-bottom: 2rem; }
.card { background: var(--card-bg); border-radius: var(--radius); padding: 1.5rem; box-shadow: 0 2px 5px rgba(0,0,0,0.1); transition: var(--transition); }
.card:hover { transform: translateY(-5px); box-shadow: 0 4px 10px rgba(0,0,0,0.15); }
h2 { margin-bottom: 1rem; color: var(--primary-color); }
ul { list-style: disc inside; }
form { display: grid; gap: 1rem; }
form input, form select, form textarea, form button { padding: 0.75rem; border: 1px solid #ccc; border-radius: var(--radius); font-size: 1rem; }
form button { background: var(--accent-color); color: #fff; border: none; cursor: pointer; transition: var(--transition); }
form button:hover { background: #c0392b; }
footer { background: var(--primary-color); color: #fff; text-align: center; padding: 1rem; }
@media (min-width: 768px) {
  .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
}