html {font-size:16px; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%}
body {font-family:Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; background-color: #f5f7fb; color: #0e0f11; min-height:100vh; line-height:1.5}
img, picture, video {max-width:100%; height:auto; display:block; object-fit:cover}
.container {width:100%; margin-left:auto; margin-right:auto}
button:focus, a:focus, input:focus, textarea:focus {outline:transparent}
:focus-visible {box-shadow: 0 0 0 4px rgba(31,95,174,0.18); border-radius:8px}
.sr-only {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
.rounded-2xl {border-radius:1rem}
.rounded-xl {border-radius:.75rem}
.shadow {box-shadow:0 6px 18px rgba(16,24,40,0.06)}
.shadow-lg {box-shadow:0 10px 30px rgba(16,24,40,0.08)}
.bg-gradient-animated {background:linear-gradient(115deg, rgba(31,95,174,0.08) 0%, rgba(14,20,37,0.04) 50%, rgba(31,95,174,0.06) 100%); animation:beam 8s ease-in-out infinite}
@keyframes beam {0% {opacity:.7; transform:translateX(-6%)} 50% {opacity:1; transform:translateX(6%)} 100% {opacity:.7; transform:translateX(-6%)}}
@keyframes slideUp {0% {opacity:0; transform:translateY(12px)} 100% {opacity:1; transform:translateY(0)}}
.animate-slideUp {animation:slideUp 600ms cubic-bezier(.16,.84,.44,1) both}
.header-backdrop {backdrop-filter: blur(6px)}
.mobile-menu-open {overflow:hidden}
#mobileMenu {transition:opacity 260ms ease, transform 260ms ease}
#mobileMenu.hidden {opacity:0; pointer-events:none}
#mobileMenu.visible {opacity:1}
#mobileOverlay {transition:opacity 260ms ease}
#mobileMenu .rounded-2xl {transform-origin:center; transition:transform 260ms ease, opacity 260ms ease}
.carousel {display:flex; gap:1rem; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch}
.carousel > * {scroll-snap-align:center}
.card-hover:hover {transform:translateY(-6px); box-shadow:0 14px 30px rgba(16,24,40,0.12)}
.button-primary {background-image:linear-gradient(90deg,#1f5fae 0%, #133a6b 100%); color:#ffffff}
.button-secondary {background-color:#ffffff; border:1px solid rgba(96,106,112,0.12); color:#202325}
.footer-link:focus {text-decoration:underline}
.cookie-consent {box-shadow:0 10px 30px rgba(16,24,40,0.08); border-radius:12px}
form input, form textarea {min-height:44px}
input[type="email"], input[type="text"], textarea {font-size:1rem}
@media (max-width:768px) {
  .container {padding-left:1rem; padding-right:1rem}
  .hero-grid {grid-template-columns:1fr}
  #mobileMenu {display:block}
}
@media (prefers-reduced-motion:reduce) {
  .animate-slideUp, .bg-gradient-animated {animation:none}
}
