:root {
  --font-main: 'Times New Roman', Times, serif;
  --font-serif: 'Times New Roman', Times, serif;
}
html { text-rendering: optimizeLegibility !important; -webkit-font-smoothing: antialiased; font-feature-settings: "kern" 1; }
body, p, a, span, div, button { font-family: var(--font-main) !important; letter-spacing: -0.015em; }
h1, h2, h3, h4, .text-serif { font-family: var(--font-serif) !important; letter-spacing: -0.02em !important; }

.project-card:hover .project-overlay { background: rgba(0, 0, 0, 0.85); }
.premium-shadow { box-shadow: 0 20px 40px -10px rgba(0,0,0,0.1); }

.contact-buttons { position: fixed; bottom: 30px; right: 20px; display: flex; flex-direction: column; gap: 12px; z-index: 40; }
.btn-contact {
  width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: white; box-shadow: 0 4px 20px rgba(0,0,0,0.15); transition: all 0.3s ease; position: relative;
}
.btn-contact:hover { transform: translateY(-3px); }
.btn-zalo      { background: #0068ff; }
.btn-messenger { background: #0084ff; }
.btn-phone     { background: #dc2626; animation: pulse-red 2s infinite; }

@keyframes pulse-red {
  0%   { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(220,38,38,0.7); }
  70%  { transform: scale(1);    box-shadow: 0 0 0 15px rgba(220,38,38,0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(220,38,38,0); }
}
