:root{--brand-50:#f7f9ff;--brand-100:#eef3ff;--brand-200:#d6e0ff;--brand-400:#6b8bff;--brand-500:#3f6bff;--brand-700:#274be6}
html{font-size:16px}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans','Liberation Sans',sans-serif;color:#111827;background-color:#ffffff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,video,iframe{max-width:100%;height:auto;display:block;object-fit:cover}
.iconify{display:inline-block;vertical-align:middle}
a,button,input,select,textarea{font-family:inherit}
:focus{outline:none}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{box-shadow:0 0 0 4px rgba(63,107,255,0.12),0 0 0 1px rgba(63,107,255,0.2);border-radius:0.5rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border-width:0}
.container{max-width:1280px;padding-left:1rem;padding-right:1rem;margin-left:auto;margin-right:auto}
@media(min-width:640px){.container{padding-left:1.5rem;padding-right:1.5rem}}
@media(min-width:1024px){.container{padding-left:2.5rem;padding-right:2.5rem}}
#mobileMenu{transition:transform .36s cubic-bezier(.2,.9,.2,1),opacity .28s ease;opacity:0;pointer-events:none}
#mobileMenu.show{opacity:1;pointer-events:auto}
#mobileOverlay{transition:opacity .28s ease}
#mobileMenu .animate-slide-up{transform:translateY(12px);opacity:0;animation:slide-up .6s cubic-bezier(.2,.9,.2,1) both}
@keyframes slide-up{0%{transform:translateY(12px);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes beam{0%{transform:translateY(0);opacity:0}100%{transform:translateY(-6px);opacity:1}}
.icon-decorative{transition:transform .28s ease,opacity .28s ease}
.icon-decorative:hover{transform:translateY(-4px) rotate(-6deg);opacity:.98}
.card-hover{transition:transform .28s ease,box-shadow .28s ease}
.card-hover:hover{transform:translateY(-6px)}
.btn-disabled{opacity:.5;cursor:not-allowed}
.no-scroll{overflow:hidden;height:100vh}
#cookieConsent{transition:transform .24s ease,opacity .24s ease}
#cookieConsent.hidden{opacity:0;transform:translateY(6px);pointer-events:none}
.form-error{color:#b91c1c;background-color:#fff1f2;padding:.5rem 0.75rem;border-radius:.5rem}
.input-invalid{border-color:#b91c1c}
@media(prefers-reduced-motion:reduce){*{animation-duration:0s!important;transition-duration:0s!important}}
