html { scroll-behavior: smooth; }
* { -webkit-font-smoothing: antialiased; }
.card-hover {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card-hover:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 32px rgba(0,0,0,0.10);
}
.btn-primary {
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}
.btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(5,150,105,0.30);
}
.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
            90deg,
            rgba(15, 23, 42, 0.78) 0%,
            rgba(15, 23, 42, 0.62) 28%,
            rgba(15, 23, 42, 0.28) 55%,
            rgba(15, 23, 42, 0.08) 100%
    );
    z-index: 1;
}

.hero > * {
    position: relative;
    z-index: 2;
}

.hero-overlay {
    background-image: url('/images/redrose.png');
    background-size: cover;
}