html {
    scroll-behavior: smooth;
}

:root {
    --brand-blue: #0D70BB;
    --brand-blue-hover: #0A5C99;
    --brand-green: #43903C;
    --brand-green-hover: #34722F;
    --bg-white: #FFFFFF;
    --bg-light: #F8FAFC;
    --bg-section: #F1F5F9;
    --heading: #1E293B;
    --body: #475569;
    --muted: #64748B;
}

.hero-gradient {
    background:
        radial-gradient(circle at top left, rgba(13, 112, 187, 0.12), transparent 35%),
        radial-gradient(circle at top right, rgba(67, 144, 60, 0.10), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.card-hover {
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.card-hover:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.service-badge {
    letter-spacing: 0.08em;
}

.prose-simple p {
    margin-bottom: 1rem;
    line-height: 1.8;
}

.prose-simple ul {
    list-style: disc;
    padding-left: 1.25rem;
    line-height: 1.8;
}

.fade-up {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 320ms ease, transform 320ms ease;
}

.fade-up-visible {
    opacity: 1;
    transform: translateY(0);
}

.btn-cta {
    height: 48px;
    border-radius: 10px;
}

.btn-primary {
    background: var(--brand-blue);
}

.btn-primary:hover {
    background: var(--brand-blue-hover);
}

.btn-secondary {
    background: var(--brand-green);
}

.btn-secondary:hover {
    background: var(--brand-green-hover);
}

.hero-slider {
    position: relative;
    overflow: hidden;
    min-height: 560px;
}

.hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: scale(1.02);
    transition: opacity 500ms ease, transform 500ms ease;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.hero-slide.is-active {
    opacity: 1;
    transform: scale(1);
    z-index: 1;
}

.hero-slider-overlay {
    background: linear-gradient(180deg, rgba(255,255,255,0.20), rgba(15,23,42,0.34));
}

.hero-dot {
    transition: transform 180ms ease, opacity 180ms ease, background-color 180ms ease;
}

.hero-dot.is-active {
    background-color: #0f172a;
    transform: scale(1.1);
}

.footer-link-list a {
    transition: color 160ms ease;
}
