:root {
    --color-primary: #d68a4e;
    --color-secondary-red: #9b1e2e;
    --color-accent-yellow: #e7dd40;
    --color-brighter-red: #d43026;
    --font-family-main: 'Montserrat', sans-serif;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px; /* Offset for fixed header */
}

body {
    font-family: var(--font-family-main);
    background-color: #111827; /* bg-gray-900 */
}

/* Custom Tailwind utility classes */
.font-montserrat {
    font-family: var(--font-family-main);
}
.bg-primary { background-color: var(--color-primary); }
.text-primary { color: var(--color-primary); }
.border-primary { border-color: var(--color-primary); }
.bg-secondary-red { background-color: var(--color-secondary-red); }
.text-secondary-red { color: var(--color-secondary-red); }
.text-accent-yellow { color: var(--color-accent-yellow); }
.bg-brighter-red { background-color: var(--color-brighter-red); }
.text-brighter-red { color: var(--color-brighter-red); }

/* Header Styling */
#header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.nav-link {
    @apply text-gray-300 uppercase tracking-wider text-sm font-semibold transition-colors duration-300;
    position: relative;
    padding-bottom: 4px;
}

.nav-link:hover {
    color: var(--color-primary);
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--color-primary);
    transform: scaleX(0);
    transform-origin: bottom right;
    transition: transform 0.3s ease-out;
}

.nav-link:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}

/* Hero Section Text Shadow */
.text-shadow-lg {
    text-shadow: 0px 4px 10px rgba(0, 0, 0, 0.7);
}
.text-shadow-md {
    text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.7);
}

/* Section Titles */
.section-title {
    @apply text-3xl md:text-4xl font-bold tracking-tight text-white mb-2;
}
.section-subtitle {
    @apply text-lg text-primary font-semibold tracking-wider;
}

/* Why Us Section Feature Icons */
.feature-icon-wrapper {
    @apply inline-flex items-center justify-center w-20 h-20 bg-gray-800 rounded-full mx-auto;
    border: 2px solid var(--color-primary);
    color: var(--color-primary);
    transition: all 0.3s ease;
}

.feature-icon-wrapper:hover {
    background-color: var(--color-primary);
    color: white;
    transform: scale(1.1) rotate(15deg);
}

/* Contact Form Inputs */
.form-input {
    @apply w-full bg-gray-800 border-2 border-gray-700 rounded-lg py-3 px-4 text-gray-200 placeholder-gray-500 transition-all duration-300;
}

.form-input:focus {
    @apply outline-none ring-2 ring-primary border-primary;
    background-color: #1f2937; /* bg-gray-800 */
}

/* Scroll Animations */
.scroll-animate {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-animate.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
  animation: fadeIn 1.2s ease-out forwards;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #111827; /* bg-gray-900 */
}

::-webkit-scrollbar-thumb {
    background: var(--color-primary);
    border-radius: 10px;
    border: 2px solid #111827;
}

::-webkit-scrollbar-thumb:hover {
    background: #c37b44; /* Darker primary */
}
