:root{
  --brand-50:#eef8ff;
  --brand-100:#d8f0ff;
  --brand-300:#8fd0ff;
  --brand-500:#007acc;
  --brand-700:#005b99;
  --focus-rgba: rgba(0,122,204,0.18);
}
html{font-family:Inter,ui-sans-serif,system-ui;line-height:1.45;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}
body{font-size:16px;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-repeat:no-repeat}
img{max-width:100%;height:auto;display:block;object-fit:cover}
.container{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
a{color:inherit;text-decoration:none}
button{font:inherit}
input,button,textarea,select{font:inherit}
:focus{outline:none}
:focus-visible{box-shadow:0 0 0 4px var(--focus-rgba);border-radius:0.5rem}
.iconify{display:inline-block;vertical-align:middle}
header[role=banner]{backdrop-filter:saturate(120%) blur(6px)}
.fixed.inset-0.hidden{display:none}
#mobileMenu{display:none}
#mobileMenu.active{display:block}
.no-scroll{overflow:hidden;height:100vh}
/* cookie panel responsive sizing */
#cookie{max-width:24rem}
@media (max-width:640px){
  #cookie{right:1rem;left:1rem;bottom:1rem;width:auto}
  .container{padding-left:0.75rem;padding-right:0.75rem}
}
/* subtle animated background fallback for devices that reduce motion */
@media (prefers-reduced-motion:reduce){
  .animate-fadeIn,.animate-beam{animation:none}
}
/* small utilities used by script-managed classes */
.modal-hidden{display:none}
.modal-visible{display:block}
/* subscribe message styles */
#subscribeMsg{min-height:1.25rem}
/* accessibility helpers */
.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}
/* focus styles for links inside overlay menus */
#mobileMenu a:focus-visible,#mobileMenu button:focus-visible{box-shadow:0 0 0 6px rgba(0,122,204,0.12);border-radius:0.5rem}
/* ensure forms are readable */
input[type=email]{min-height:40px}
/* ensure card shadows are distinct on light backgrounds */
.shadow-md{box-shadow:0 6px 18px rgba(12,24,48,0.06)}
.shadow-lg{box-shadow:0 10px 30px rgba(12,24,48,0.08)}
.rounded-2xl{border-radius:1rem}
.rounded-xl{border-radius:0.75rem}
/* ensure links with white text have sufficient contrast on gradients by adding subtle text-shadow */
.bg-gradient-to-r .text-white{text-shadow:0 1px 0 rgba(0,0,0,0.12)}
/* ensure hero image container doesn't overflow */
.lg\:col-span-5 img{max-height:520px}
