:root{font-size:16px}
html,body{height:100%}
body{font-family:Inter,ui-sans-serif,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;line-height:1.6}
img,video{max-width:100%;height:auto;display:block;object-fit:cover}
.iconify{display:inline-block;vertical-align:middle}
.focus-ring:focus{outline:none;box-shadow:0 0 0 4px rgba(31,59,255,0.14);border-radius:0.75rem}
.container{max-width:1200px}
button:disabled{opacity:0.5;cursor:not-allowed}
#mobileMenu{transition:opacity 280ms ease,visibility 280ms ease}
#mobileMenu .menu-enter{opacity:0;transform:translateY(8px)}
#mobileMenu .menu-enter-active{opacity:1;transform:translateY(0)}
#menuPanel{transition:transform 320ms cubic-bezier(.2,.9,.2,1),opacity 320ms ease}
#menuPanel[aria-hidden="true"]{opacity:0;transform:translateY(12px)}
#menuPanel[aria-hidden="false"]{opacity:1;transform:translateY(0)}
#cookieBanner{transition:transform 300ms ease,opacity 300ms ease}
#cookieBanner.hidden{opacity:0;transform:translateY(10px);pointer-events:none}
.header-backdrop{backdrop-filter:blur(6px)}
.card-image{width:100%;height:220px;object-fit:cover;border-radius:12px}
.rounded-2xl{border-radius:1rem}
.rounded-xl{border-radius:.75rem}
.shadow-md{box-shadow:0 6px 18px rgba(15,23,42,0.06)}
.shadow-lg{box-shadow:0 10px 30px rgba(15,23,42,0.08)}
.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}
.hero-gradient{background:linear-gradient(135deg,rgba(31,59,255,0.06) 0%,rgba(99,102,241,0.03) 50%,rgba(99,102,241,0.00) 100%)}
@media (max-width:640px){.container{padding-left:1rem;padding-right:1rem}.card-image{height:160px}}
@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}
@keyframes fade-in{0%{opacity:0}100%{opacity:1}}
@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}
.animated-fade{animation:fade-in .6s ease both}
.animated-slide-up{animation:slide-up .6s cubic-bezier(.2,.9,.2,1) both}
.progress-bar{height:6px;background:linear-gradient(90deg,#1F3BFF,#1626B0);border-radius:999px}
input,textarea,select{font-family:inherit;font-size:1rem}
.form-error{color:#b91c1c;font-size:.95rem}
.form-success{color:#065f46;font-size:.95rem}
footer a{transition:color .18s ease}
.skip-link{position:fixed;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:#fff;padding:.5rem .75rem;border-radius:.375rem;box-shadow:0 6px 18px rgba(15,23,42,0.08)}
