:root {
    --watson-dark: #17231c;
    --watson-green: #315c43;
    --watson-light: #f2f5f0;
    --watson-accent: #d8a44a;
}

body {
    min-height: 100vh;
    color: #1e2521;
}

.navbar {
    min-height: 78px;
}

.navbar-brand {
    letter-spacing: 0.02em;
    font-size: 1.4rem;
}

.nav-link {
    font-weight: 500;
}

.nav-link.active {
    font-weight: 700;
}

.hero-section {
    background:
        linear-gradient(
            90deg,
            rgba(242, 245, 240, 0.97) 0%,
            rgba(242, 245, 240, 0.92) 38%,
            rgba(242, 245, 240, 0.55) 58%,
            rgba(242, 245, 240, 0.08) 78%,
            rgba(242, 245, 240, 0) 100%
        ),
        url("/assets/images/hero-watsonk9.webp")
        center center / cover no-repeat;
}

.hero-row {
    min-height: 640px;
}

.hero-kicker,
.section-kicker {
    color: var(--watson-green);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.hero-description {
    max-width: 680px;
}

.service-card {
    border: 1px solid #dfe5df;
    border-radius: 1rem;
    background-color: #fff;
    box-shadow: 0 0.5rem 1.5rem rgba(23, 35, 28, 0.07);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 1rem 2rem rgba(23, 35, 28, 0.11);
}

.service-card-body {
    padding: 2.5rem;
}

.why-section {
    background-color: var(--watson-light);
}

.feature-list {
    display: grid;
    gap: 1rem;
}

.feature-item {
    padding: 1.5rem;
    border-left: 4px solid var(--watson-accent);
    background-color: #fff;
    border-radius: 0.5rem;
}

.process-step {
    padding: 2rem;
    border: 1px solid #e2e7e2;
    border-radius: 1rem;
}

.process-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    background-color: var(--watson-green);
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
}

.cta-section {
    background-color: var(--watson-dark);
    color: #fff;
}

.site-footer {
    background-color: var(--bs-tertiary-bg);
}

@media (max-width: 991.98px) {
    .hero-row {
        min-height: 540px;
    }
}

@media (max-width: 767.98px) {
    .hero-section {
        background-position: 68% center;
    }
}

@media (max-width: 575.98px) {
    .hero-row {
        min-height: 500px;
    }

    .hero-section .display-3 {
        font-size: 2.5rem;
    }

    .service-card-body {
        padding: 1.75rem;
    }
}

.navbar-logo {
    display: block;
    width: auto;
    height: 42px;
}

@media (max-width: 576px) {
    .navbar-logo {
        height: 34px;
    }
}