:root {
  --text-primary: #111111;
  --text-secondary: #555555;
  --text-muted: #888888;
  --cyan-start: #29d4f6;
  --cyan-end: #3cc7cd;
  --text-cyan: #29d4f6;
  --text-light: #ffffff;
  --text-light-muted: #a8ecef;
  --text-light-dim: #888888;
}

/* Core theme tokens */
.footer { background: var(--dark); color: var(--text-primary); padding: 80px 50px 40px; border-top: 1px solid #222; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 60px; }
.footer p { font-size: 13px; color: var(--text-secondary); margin-top: 15px; line-height: 1.5; max-width: 250px; }
.footer h4 { font-size: 10px; text-transform: uppercase; letter-spacing: 2px; color: var(--text-primary); margin-bottom: 20px; }
.footer a { display: block; font-size: 13px; color: var(--text-secondary); margin-bottom: 12px; transition: color 0.3s; }
.footer a:hover { color: var(--text-primary); }
.footer-bottom { display: flex; justify-content: space-between; font-size: 11px; color: var(--text-secondary); border-top: 1px solid #222; padding-top: 25px; letter-spacing: 1px; }
@media (max-width: 1024px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 768px) { .footer-grid { grid-template-columns: 1fr; } }
