:root{--focus-color:rgba(15,107,102,0.14);--min-body:16px}
html{font-size:16px}
body{min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto;display:block;object-fit:cover}
button, a, input, textarea{font-family:inherit}
.focus-ring:focus{outline:none;box-shadow:0 0 0 4px var(--focus-color);border-radius:0.5rem}
:focus-visible{outline:none}
.container{max-width:1200px}
.no-scroll{height:100vh;overflow:hidden}
#mobileMenu{display:none}
#mobileMenu.active{display:block}
#mobileMenu [role="dialog"]{transform:translateY(12px) scale(0.995);opacity:0;transition:transform .36s cubic-bezier(.2,.9,.2,1),opacity .28s ease;border-radius:1rem}
#mobileMenu.active [role="dialog"]{transform:translateY(0) scale(1);opacity:1}
#mobileBackdrop{opacity:0;transition:opacity .3s ease}
#mobileMenu.active #mobileBackdrop{opacity:1}
[role="dialog"]:focus{outline:none}
.cookie-hidden{display:none !important}
#cookieBox{max-width:20rem;min-width:18rem}
#cookieBox button{cursor:pointer}
form input[type="text"],form input[type="email"],form textarea{min-height:44px}
.grid-card-image{width:100%;height:220px;object-fit:cover;border-radius:0.75rem}
.iconify{display:inline-block;vertical-align:middle}
.btn-disabled{opacity:0.5;pointer-events:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:1024px){#cookieBox{right:1rem;left:1rem;bottom:1rem;max-width:none}}
@media (prefers-reduced-motion:reduce){#mobileMenu [role="dialog"],#mobileBackdrop, #mobileMenu [role="dialog"]{transition:none;animation:none}}
