:root {
--primary-color: #000000;
--secondary-color: #333333;
--text-dark: #1A1A1A;
--text-light: #F8F8F8;
--bg-light: #FFFFFF;
--bg-dark: #0A0A0A;
}

body {
background-color: var(--bg-light);
color: var(--text-dark);
}

header {
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); 
}

header a.text-gray-900:hover,
header a:hover {
color: var(--secondary-color);
}

.hero {
background-color: var(--primary-color);
position: relative;
overflow: hidden;
}

.hero::before {
content: '';
position: absolute;
top: -10%;
left: -10%;
width: 120%;
height: 120%;
background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, transparent 70%);
opacity: 0.4;
animation: pulse 15s infinite;
}

@keyframes pulse {
0% {
 transform: scale(0.9);
 opacity: 0.4;
}
50% {
 transform: scale(1.1);
 opacity: 0.7;
}
100% {
 transform: scale(0.9);
 opacity: 0.4;
}
}

.card {
transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.card:hover {
transform: translateY(-5px) scale(1.02);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); 
}

button,
.button {
transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out;
}

button:hover,
.button:hover {
transform: translateY(-2px);
}

form input,
form textarea {
transition: border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

form input:focus,
form textarea:focus {
outline: none;
border-color: var(--primary-color);
box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.2); 
}

footer {
background-color: var(--bg-dark);
}

footer a:hover {
color: var(--secondary-color);
}

#mobileMenuContent {
position: fixed;
top: 0;
right: 0;
z-index: 50;
transform: translateX(100%);
transition: transform 0.3s ease-in-out;
}

#mobileMenuOverlay.active #mobileMenuContent {
transform: translateX(0);
}

#mobileMenuOverlay.active {
display: block !important;
}