html,body{
  height:100%;
}
body{
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
}
img,video{
  max-width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}
button, a, input, textarea{
  font-family:inherit;
}
:focus{
  outline:0;
}
:focus-visible{
  box-shadow:0 0 0 4px rgba(25,182,131,0.15);
  border-radius:8px;
}
.container{
  max-width:1200px;
}
.iconify{
  display:inline-block;
  vertical-align:middle;
  line-height:1;
}
#mobileMenu{
  transition:opacity 300ms cubic-bezier(.16,.84,.26,.98), transform 300ms cubic-bezier(.16,.84,.26,.98);
}
#mobileMenu.hidden{
  opacity:0;
  transform:translateY(8px) scale(.99);
  pointer-events:none;
}
#mobileMenu.active{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
#mobileOverlay{
  transition:opacity 250ms ease;
}
#mobileOverlay.hidden{
  opacity:0;
  pointer-events:none;
}
#mobileOverlay.visible{
  opacity:1;
  pointer-events:auto;
}
.no-scroll{
  overflow:hidden;
  height:100vh;
}
.cookie-hidden{
  opacity:0;
  transform:translateY(12px) scale(.98);
  pointer-events:none;
}
.cookie-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}
a{
  text-decoration:none;
}
.header-shadow{
  box-shadow:0 6px 18px rgba(16,24,40,0.04);
}
.card-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.btn-disabled{
  opacity:.6;
  cursor:not-allowed;
}
.rounded-2xl{border-radius:16px}
.rounded-xl{border-radius:12px}
.shadow-lg{box-shadow:0 10px 30px rgba(2,6,23,0.08)}
.shadow-md{box-shadow:0 6px 18px rgba(2,6,23,0.06)}
@keyframes fade-in{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes float{
  0%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
  100%{transform:translateY(0)}
}
.animate-fade-in{animation:fade-in .6s ease both}
.animate-float{animation:float 6s ease-in-out infinite}
.form-error{color:#b91c1c}
input[type="text"],input[type="email"],input[type="tel"],textarea,select{
  padding:.6rem .75rem;
  border-radius:.5rem;
  border:1px solid rgba(15,23,42,0.06);
  background:white;
}
input:focus,textarea:focus,select:focus{
  box-shadow:0 0 0 4px rgba(59,130,246,0.08);
  border-color:rgba(59,130,246,0.9);
}
.footer-link:focus{box-shadow:0 0 0 4px rgba(16,185,129,0.12)}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}
}
