:root{
  font-size:16px;
}
html,body{
  height:100%;
  background-color:var(--tw-bg-opacity,white);
}
body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-size:1rem;
  line-height:1.5;
  color:rgb(15,23,42);
}
img,video,picture,svg{
  max-width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}
.container{
  box-sizing:border-box;
}
a{
  color:inherit;
  text-decoration:none;
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(0,122,255,0.18);
  border-radius:0.5rem;
}
.sr-only{
  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;
}
.iconify{
  display:inline-block;
  vertical-align:middle;
  line-height:0;
}
.rounded-2xl{border-radius:1rem}
.rounded-xl{border-radius:0.75rem}
.shadow-md{box-shadow:0 8px 20px rgba(2,6,23,0.08)}
.shadow-lg{box-shadow:0 20px 40px rgba(2,6,23,0.08)}
.bg-dark-gradient{
  background-image:linear-gradient(135deg,rgba(0,122,255,0.12),rgba(0,119,199,0.06));
}
.cookie-compact{
  width:100%;
  max-width:20rem;
}
@media (min-width:640px){
  .cookie-compact{max-width:22rem}
}
#cookie{transition:transform .28s ease,opacity .28s ease}
.no-scroll{height:100vh;overflow:hidden}
#mobileMenu{backface-visibility:hidden}
.mobile-panel-enter{transform:translateY(8%);opacity:0}
.mobile-panel-enter-active{transform:translateY(0);opacity:1;transition:transform .38s cubic-bezier(.16,.84,.44,1),opacity .38s}
.mobile-panel-leave{transform:translateY(0);opacity:1}
.mobile-panel-leave-active{transform:translateY(8%);opacity:0;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .26s}
.btn-primary:disabled{opacity:0.6;cursor:not-allowed}
.card-hover{transition:transform .28s ease,box-shadow .28s}
.card-hover:hover{transform:translateY(-6px)}
.kv-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.25rem}
@media (min-width:640px){
  .kv-grid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1024px){
  .kv-grid{grid-template-columns:repeat(3,1fr)}
}
.visually-contrasted{
  color:rgb(15,23,42);
  background-color:rgb(255,255,255);
}
.footer-legal a{color:rgba(226,232,240,0.9)}
.footer-legal a:hover{color:rgb(255,255,255)}
.modal-backdrop{
  background:linear-gradient(180deg,rgba(2,6,23,0.4),rgba(2,6,23,0.28));
  backdrop-filter:blur(6px);
}
.focus-stable:focus{box-shadow:0 0 0 4px rgba(0,122,255,0.18)}
.icon-decorative{opacity:0.9;transition:transform .5s ease,opacity .35s}
.icon-decorative:hover{transform:rotate(6deg) scale(1.02);opacity:1}
kbd{background:#0f172a;color:#fff;padding:0.08rem 0.35rem;border-radius:6px;font-size:.85em}
.progress-bar{height:8px;background:rgba(148,163,184,0.12);border-radius:999px;overflow:hidden}
.progress-bar > i{display:block;height:100%;background:linear-gradient(90deg,#00a8ff,#0077c7);width:0%;transition:width .9s cubic-bezier(.2,.8,.2,1)}
.btn-ghost{background:transparent;border:1px solid rgba(148,163,184,0.12)}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important}
}
