html {font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
body {min-height:100vh;word-wrap:break-word;}
img, picture, video {max-width:100%;height:auto;display:block;object-fit:cover}
svg {display:inline-block;vertical-align:middle}
.no-scroll {overflow:hidden;height:100%}
.container img {max-width:100%;height:auto}
:focus {outline-offset:3px}
button, a, input, textarea {touch-action:manipulation}
#mobileMenu[aria-hidden="true"] {visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s ease, visibility .25s linear}
#mobileMenu[aria-hidden="false"] {visibility:visible;opacity:1;pointer-events:auto;transition:opacity .25s ease}
#mobileOverlay {transition:opacity .25s ease}
.iconify {display:inline-flex;align-items:center;justify-content:center}
.cookie-accept-button, .cookie-reject-button {border-radius:.5rem;padding:.5rem .75rem}
#cookieConsent {max-width:20rem}
@media (max-width:420px) {#cookieConsent {right:1rem;left:1rem;max-width:calc(100% - 2rem)}}
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px}
/* accessibility: visible focus for keyboard users without relying on UA defaults */
:focus-visible {box-shadow:0 0 0 3px rgba(59,130,246,0.18), 0 1px 2px rgba(2,6,23,0.05);border-radius:.5rem}
/* small helpers used by scripts */
.hidden-by-script {display:none}
/* ensure form feedback contrasts and sizes */
.form-error {color:#7f1d1d;background:rgba(254,226,226,0.5);padding:.5rem;border-radius:.5rem;font-size:.95rem}
.form-success {color:#064e3b;background:rgba(220,252,231,0.6);padding:.5rem;border-radius:.5rem;font-size:.95rem}
/* keep interactive cards from overflowing */
.card {overflow:hidden}
/* subtle elevation for shadowed elements when motion is allowed */
@media (prefers-reduced-motion: no-preference) { .hover-lift:hover {transform:translateY(-6px);transition:transform .25s cubic-bezier(.2,.8,.2,1)} }
