html {font-size: 16px;}
body {min-height: 100vh; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;}
.container {max-width: 1200px;}
.iconify {display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;transition:transform .22s ease,opacity .22s ease;} 
.iconify:focus, .iconify:hover {transform:translateY(-3px) scale(1.02);}
button:disabled, .btn--disabled {opacity: .6;cursor:not-allowed;pointer-events:none}
:focus {outline: none}
:focus-visible {box-shadow: 0 0 0 4px rgba(59,130,246,0.16); border-radius: 0.5rem}
a:focus-visible {box-shadow: 0 0 0 4px rgba(45,212,191,0.14); border-radius: 0.375rem}
input, textarea, select {font: inherit}
img {max-width:100%;height:auto;display:block;object-fit:cover}
.rounded-2xl {border-radius:1rem}
.rounded-xl {border-radius:0.75rem}
.shadow-md {box-shadow: 0 6px 18px rgba(15,23,42,0.06)}
.shadow-lg {box-shadow: 0 12px 30px rgba(15,23,42,0.08)}
.bg-animated-gradient {background: linear-gradient(135deg, rgba(59,130,246,0.08) 0%, rgba(45,212,191,0.05) 50%, rgba(59,130,246,0.04) 100%)}
.cookie-compact {max-width: 360px}
#cookieBanner {transition: transform .28s cubic-bezier(.2,.9,.2,1), opacity .28s ease;}
#cookieBanner.hidden {transform: translateY(16px) scale(.98);opacity:0;pointer-events:none}
#mobileMenu {transition: opacity .26s ease, visibility .26s ease}
#mobileMenu .animate-slide-up {animation: slide-up .42s cubic-bezier(.2,.8,.2,1) both}
@keyframes slide-up {0% {opacity:0; transform: translateY(16px)} 100% {opacity:1; transform: translateY(0)}}
.no-scroll {overflow:hidden;height:100%}
.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}
.lead-success {background:#ecfdf5;border:1px solid #bbf7d0;color:#065f46;padding:0.75rem;border-radius:0.75rem}
.lead-error {background:#fff1f2;border:1px solid #fecaca;color:#7f1d1d;padding:0.75rem;border-radius:0.75rem}
@media (prefers-reduced-motion: reduce) { .iconify, #mobileMenu, #cookieBanner, .animate-slide-up {transition:none;animation:none}}
@media (max-width: 1023px) {
  .container.mx-auto.max-w-screen-xl {padding-left:1rem;padding-right:1rem}
}
