@layer base {
  html,body {
    height:100%;
  }
  body {
    font-size:16px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    font-family:Inter, ui-sans-serif, system-ui, Arial, sans-serif;
    color:rgb(30,41,59);
    background-color:white;
  }
  h1,h2,h3,h4,h5,h6 {
    font-family:Merriweather, serif;
  }
  img {
    max-width:100%;
    height:auto;
    display:block;
    object-fit:cover;
  }
  a {
    color:inherit;
  }
}
:root {
  --brand-500:#3b82f6;
  --brand-700:#1458c7;
  --focus-ring: rgba(59,130,246,0.22);
}
button,input,textarea,a {
  transition: all .18s ease-in-out;
}
:focus {
  outline: none;
}
:focus-visible {
  box-shadow: 0 0 0 4px var(--focus-ring);
  border-radius: .5rem;
}
.container.mx-auto.max-w-screen-xl.px-4.sm\:px-6.lg\:px-10 {
  max-width:1280px;
}
#mobileMenu {
  display:none;
}
#mobileMenu.active {
  display:block;
}
body.menu-open {
  overflow:hidden;
}
#mobileBackdrop {
  backdrop-filter: blur(10px);
}
#mobilePanel {
  animation: slidePanel 360ms cubic-bezier(.2,.9,.25,1) both;
}
@keyframes slidePanel {
  0% { transform: translateX(12%); opacity:0; }
  100% { transform: translateX(0); opacity:1; }
}
@keyframes beam {
  0% { transform: translateY(8px); opacity:0; }
  100% { transform: translateY(0); opacity:1; }
}
@keyframes slide-up {
  0% { transform: translateY(12px); opacity:0; }
  100% { transform: translateY(0); opacity:1; }
}
.iconify {
  display:inline-block;
  vertical-align:middle;
}
.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 12px 34px rgba(15,23,42,0.08);
}
.shadow-inner {
  box-shadow: inset 0 2px 8px rgba(2,6,23,0.04);
}
.btn-primary {
  background-image: linear-gradient(90deg,var(--brand-500),var(--brand-700));
  color: white;
  padding: .65rem 1.25rem;
  border-radius: .75rem;
  font-weight:600;
}
.btn-secondary {
  background-color:white;
  border:1px solid rgba(148,163,184,0.35);
  color: rgb(71,85,105);
  padding: .6rem 1.1rem;
  border-radius: .75rem;
  font-weight:600;
}
.btn-primary:disabled,
.btn-secondary:disabled {
  opacity:.6;
  cursor:not-allowed;
}
.cookie-consent {
  max-width:20rem;
}
#cookieConsent {
  max-width:22rem;
}
@media (max-width:640px) {
  #cookieConsent {
    right:1rem;
    left:1rem;
    bottom:1rem;
    max-width:calc(100% - 2rem);
  }
  #mobilePanel {
    width:100%;
  }
}
.form-input {
  width:100%;
  padding:.6rem .75rem;
  border-radius:.5rem;
  border:1px solid rgba(148,163,184,0.25);
  background:white;
}
.form-input:focus {
  box-shadow: 0 0 0 4px var(--focus-ring);
}
.badge {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.25rem .6rem;
  border-radius:9999px;
  font-size:.75rem;
}
.card-hover:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 50px rgba(15,23,42,0.08);
}
.hero-illustration {
  border-radius:1rem;
  overflow:hidden;
}
.footer-links a {
  color: rgb(71,85,105);
}
.table-responsive {
  width:100%;
  overflow:auto;
}
.skip-link {
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus {
  left:1rem;
  top:1rem;
  width:auto;
  height:auto;
  background:white;
  padding:.5rem .75rem;
  border-radius:.375rem;
  box-shadow:0 6px 18px rgba(2,6,23,0.08);
}
