:root {
    --ci-blue: #1e88e5;
    --ci-blue-light: #42a5f5;
    --ci-dark: #1a1a1a;
    --ci-border: #e8ecf0;
}

.site-header {
    background: #fff;
    border-bottom: 1px solid var(--ci-border);
}

.site-header .navbar-brand {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.site-header .navbar-brand img {
    height: 52px;
    width: auto;
    max-width: min(240px, 70vw);
    display: block;
}

.site-header .nav-link {
    color: #374151;
    font-weight: 500;
}

.site-header .nav-link:hover,
.site-header .nav-link:focus {
    color: var(--ci-blue);
}

.site-header .navbar-text {
    color: #6b7280;
    font-size: 0.9rem;
}

.site-header .navbar-toggler {
    border-color: var(--ci-border);
}

.hero-gradient {
    background: linear-gradient(135deg, #f8fafc 0%, #e3f2fd 100%);
    border-radius: 1rem;
}

.text-gradient {
    background: linear-gradient(90deg, var(--ci-dark) 0%, var(--ci-blue) 60%, var(--ci-blue-light) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.feature-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--ci-blue), var(--ci-blue-light));
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
}

.site-footer {
    background: #fff;
    border-top: 1px solid var(--ci-border);
    margin-top: auto;
    padding-top: 1.25rem;
    padding-bottom: 1.5rem;
    color: #6b7280;
    font-size: 0.875rem;
}

.site-footer a {
    color: #6b7280;
}

.site-footer a:hover {
    color: var(--ci-blue);
}

.site-footer__logo img {
    height: 40px;
    width: auto;
    max-width: 200px;
    opacity: 0.9;
}

.legal-content h2 {
    font-size: 1.25rem;
    margin-top: 2rem;
}

.legal-content h3 {
    font-size: 1.05rem;
    margin-top: 1.25rem;
}
