:root {
    --color-primary: #673de6;
    --color-dark: #1d1e20;
    --color-light-gray: #f8f9fa;
    --font-primary: 'Roboto', sans-serif;
}
body {
    font-family: var(--font-primary);
    color: var(--color-dark);
    background-color: #ffffff;
}
.hero-video-container {
    position: relative;
    height: calc(100vh - 97px);
    overflow: hidden;
}
.hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    transform: translateX(-50%) translateY(-50%);
}
.hero-overlay {
    position: absolute; inset: 0;
    background-color: black; opacity: 0.6;
    z-index: 1;
}
.nav-link {
    transition: color 0.3s ease, border-color 0.3s ease;
    text-decoration: none;
    padding-bottom: 8px;
    font-size: 16px;
    color: #0d141a;
    border-bottom: 2px solid transparent;
}
.nav-link.active, .nav-link:hover {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
}

.card-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}
h1,h2,h3,h4,h5,h6 { font-family: var(--font-primary); font-weight: 700; line-height: 1.3;}
h1 { font-size: 56px; } h2 { font-size: 48px; } h3 { font-size: 32px; } h4 { font-size: 24px; }
p, .body { font-size: 16px; line-height: 1.6; color: #56585e; }
@media (max-width: 768px) {
    h1 { font-size: 36px; } h2 { font-size: 32px; } h3 { font-size: 28px; } h4 { font-size: 22px; }
}
