html { scroll-behavior: smooth; }
.slider-viewport { height: 55vh; max-height: 600px; }
@media (max-width: 768px) { .slider-viewport { height: 38vh; } }
.shadow-elev { box-shadow: 0 14px 40px rgba(0,0,0,.08); }
button, a.btn, a[href^="http"] { transition: all 0.3s ease-in-out; }
button:hover, a:hover.btn, a[href^="http"]:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.1); }
a.bg-primary:hover { background-color: #4f77a0 !important; }
a.bg-accent:hover { background-color: #6bbef8 !important; }
.btn { transition: transform 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease; }
.btn:hover { transform: scale(1.05); }
header { box-shadow: 0 2px 6px rgba(0,0,0,0.06); }
:focus-visible { outline: 2px solid #8FD0FF; outline-offset: 2px; }