@charset "utf-8";
:root{
  --focus-ring: 0 0 0 4px rgba(6,182,212,0.12);
  --brand-500: #06b6d4;
  --min-body-size: 16px;
}
html{font-size:var(--min-body-size);-webkit-text-size-adjust:100%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}
body{min-height:100vh;background-color:transparent;color:rgba(15,23,42,1);font-family:Inter,ui-sans-serif,system-ui,Helvetica,Arial, sans-serif;line-height:1.5}
img,video,picture,figure{max-width:100%;height:auto;display:block;object-fit:cover}
.container{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
@media (min-width:1024px){.container{padding-left:2.5rem;padding-right:2.5rem}}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font-family:inherit}
:focus{outline:none}
:focus-visible{box-shadow:var(--focus-ring);border-radius:0.75rem}
[tabindex]{outline:0}
.header-blur{backdrop-filter:blur(6px)}
.rounded-xl{border-radius:0.75rem}
.rounded-2xl{border-radius:1rem}
.shadow-sm{box-shadow:0 4px 12px rgba(2,6,23,0.04)}
.shadow-md{box-shadow:0 10px 24px rgba(2,6,23,0.06)}
.shadow-lg{box-shadow:0 20px 40px rgba(2,6,23,0.08)}
.grid-card{display:grid;grid-template-columns:1fr;gap:1rem}
@media (min-width:640px){.grid-card{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.grid-card{grid-template-columns:repeat(3,1fr)}}
#mobileMenu{opacity:0;pointer-events:none;transition:opacity .28s ease,transform .28s ease}
#mobileMenu.open{opacity:1;pointer-events:auto}
#mobileMenuOverlay{transition:opacity .25s ease}
body.menu-open{height:100vh;overflow:hidden}
.cookie-banner{animation:fadeIn .42s ease both}
@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}
.animated-appear{animation:slideUp .6s ease both}
.card-hover{transition:transform .22s ease,box-shadow .22s ease}
.card-hover:hover,.card-hover:focus-within{transform:translateY(-6px)}
.iconify{display:inline-block;vertical-align:middle}
.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,select{appearance:none;border-radius:0.5rem}
form .error{color:#b91c1c;font-size:0. ninerem}
footer address,footer p{color:rgba(100,116,139,1)}
.small-muted{color:rgba(100,116,139,1);font-size:0.95rem}
img.rounded-md{border-radius:0.5rem}
button[disabled]{opacity:.6;cursor:not-allowed}
/* ensure no horizontal overflow */
html,body,#mobileMenu{max-width:100%;overflow-x:hidden}
@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}
