html,body{
  height:100%;
}
html{font-family:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}
body{font-size:16px;line-height:1.5;color:#2b2e30;background-color:#f6f6f6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,video,iframe{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}
:focus{outline:none}
:focus-visible{outline-color:transparent;box-shadow:0 0 0 3px rgba(72,100,120,0.18)}
button[disabled],button[aria-disabled="true"]{opacity:0.6;cursor:not-allowed}
.iconify{display:inline-block;vertical-align:middle}
header a, footer a, nav a{transition:color 160ms ease, opacity 160ms ease}
/* mobile menu backdrop and dialog fallback styles */
#mobileMenu{display:none}
#mobileMenu.active{display:block}
#mobileBackdrop{position:absolute;inset:0}
#mobileMenu [role="dialog"]{max-width:520px}
/* cookie banner adjustments for small viewports */
#cookieBanner{min-width:16rem;max-width:22rem}
@media (max-width:640px){
  #cookieBanner{right:1rem;left:1rem;width:auto;bottom:1rem}
}
/* subtle motion preferences */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}
/* Ensure focusable elements have clear focus ring for keyboard users */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px rgba(46,64,82,0.14);border-radius:8px}
/* Ensure form controls meet minimum size and contrast */
input,textarea,select{font-size:16px;border-radius:8px;border:1px solid rgba(0,0,0,0.06);padding:0.6rem 0.75rem;color:inherit}
button{font-weight:600}
/* Utility to trap potential overflow on layout elements */
.rounded-2xl img{display:block;border-radius:16px}
/* subtle elevated shadow for cards */
.shadow-md{box-shadow:0 6px 18px rgba(21,24,26,0.06)}
.shadow-lg{box-shadow:0 12px 30px rgba(21,24,26,0.08)}
/* Ensure footer columns stack cleanly on very small viewports */
@media (max-width:420px){
  .container{padding-left:0.75rem;padding-right:0.75rem}
}
/* support for keyboard users to identify skip links if added */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:static;width:auto;height:auto;left:auto;top:auto;clip:auto}
