:root{
  --brand-50:#eef2ff;
  --brand-100:#e0e7ff;
  --brand-300:#a5b4fc;
  --brand-500:#6366f1;
  --brand-700:#4f46e5;
  --text-strong:#0f172a;
  --muted:#64748b;
}
html{font-size:16px;box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica",Arial;line-height:1.5;color:var(--text-strong);background-color:transparent;min-height:100vh}
img{max-width:100%;height:auto;display:block}
.container{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
a{color:var(--brand-700);text-decoration:none}
a:hover,a:focus{color:var(--brand-500);text-decoration:underline}
button{font-family:inherit}
.iconify{display:inline-block;vertical-align:middle}
:focus{outline:transparent}
:focus-visible{outline:transparent}
:focus-visible{box-shadow:0 0 0 4px rgba(99,102,241,0.18);border-radius:8px}
button:focus-visible, a:focus-visible{box-shadow:0 0 0 4px rgba(99,102,241,0.18);border-radius:8px}
header{backdrop-filter:saturate(120%) blur(6px)}
#mobileMenu{transition:opacity 260ms ease,transform 260ms ease}
#mobileMenu.hidden{opacity:0;pointer-events:none}
#mobileMenu:not(.hidden){opacity:1}
#mobileMenu > div[tabindex="-1"]{position:fixed;inset:0}
.menu-open{overflow:hidden}
#mobileMenu .animate-slideUp{transform:translateY(6px);animation:slideUp 420ms cubic-bezier(.2,.9,.3,1) both}
@keyframes slideUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.cookie-consent-hidden{display:none}
#cookieConsent{max-width:26rem;min-width:18rem}
@media (max-width:640px){
  #cookieConsent{right:1rem;left:1rem;bottom:1rem}
  .container{padding-left:0.75rem;padding-right:0.75rem}
}
footer address, footer p, .text-sm{color:var(--muted)}
.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 36px rgba(15,23,42,0.08)}
.focus-ring{box-shadow:0 0 0 4px rgba(99,102,241,0.12);border-radius:8px}
.card-hover{transition:transform .18s ease,box-shadow .18s ease}
.card-hover:hover{transform:translateY(-6px)}
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
input[type="text"],input[type="email"],input[type="tel"],textarea{border-radius:.5rem;border:1px solid rgba(12,17,23,0.06);padding:.6rem .75rem}
input:focus,textarea:focus{box-shadow:0 0 0 4px rgba(99,102,241,0.12);border-color:var(--brand-500)}
button[disabled]{opacity:.6;cursor:not-allowed}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important;scroll-behavior:auto!important}
}
