:root{
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
html,body{height:100%;}
body{min-height:100vh;background-attachment:fixed;line-height:1.5}
img,video{max-width:100%;height:auto;display:block;object-fit:cover}
.container{max-width:1120px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
.iconify{display:inline-block;vertical-align:middle}
:focus{outline:2px solid transparent;outline-offset:2px}
:focus-visible{box-shadow:0 0 0 4px rgba(59,130,246,0.18);border-radius:8px}
button:focus-visible, a:focus-visible{box-shadow:0 0 0 4px rgba(59,130,246,0.12)}
input,textarea,select{font-family:inherit}
.no-scroll{overflow:hidden;height:100%}
#mobileMenu{transition:opacity 300ms ease, visibility 300ms ease}
#mobileMenu.hidden{opacity:0;visibility:hidden}
#mobileMenu:not(.hidden){opacity:1;visibility:visible}
#mobileMenu > div > div{transform:translateY(12px);opacity:0;transition:transform 340ms cubic-bezier(.2,.9,.2,1),opacity 320ms ease}
#mobileMenu:not(.hidden) > div > div{transform:translateY(0);opacity:1}
#mobileMenu a{display:block}
[data-nav]:focus-visible{box-shadow:0 0 0 4px rgba(59,130,246,0.12);border-radius:6px}
.rounded-2xl{border-radius:1rem}
.rounded-xl{border-radius:.75rem}
.shadow-md{box-shadow:0 8px 20px rgba(2,6,23,0.06)}
.shadow-lg{box-shadow:0 18px 40px rgba(2,6,23,0.08)}
.card-hover{transition:transform 220ms ease,box-shadow 220ms ease}
.card-hover:hover{transform:translateY(-6px)}
.button-primary{transition:transform 160ms ease,filter 160ms ease}
.button-primary:active{transform:translateY(1px)}
button[disabled]{opacity:.5;cursor:not-allowed}
.cookie-hidden{display:none}
#cookieConsent{min-width:18rem;max-width:clamp(16rem,20vw,22rem)}
@media (max-width:640px){
  #cookieConsent{right:1rem;left:1rem;width:auto}
  .container{padding-left:.75rem;padding-right:.75rem}
  .card-cols{grid-template-columns:repeat(1,1fr)}
}
@media (min-width:641px){
  .card-cols{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
}
@keyframes beam{0%{transform:translateY(0);opacity:.6}50%{transform:translateY(-8px);opacity:1}100%{transform:translateY(0);opacity:.6}}
@keyframes fadein{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}
.element-animate{opacity:0;transform:translateY(8px);animation:fadein 600ms ease-out forwards}
.element-beam{animation:beam 4s ease-in-out infinite}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
