:root{
  --brand-50:#f6fbff;
  --brand-100:#e8f4ff;
  --brand-200:#cfe9ff;
  --brand-300:#9fd2ff;
  --brand-400:#6bb9ff;
  --brand-500:#3a94ff;
  --brand-600:#2f75d6;
  --brand-700:#2359a3;
  --brand-800:#17366f;
  --brand-900:#0b1b3a;
  --body-text:#0f172a;
  --muted:#64748b;
  --bg:#ffffff;
}
html,body{height:100%;}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;}
body{font-size:16px;line-height:1.5;color:var(--body-text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
.container{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
img{max-width:100%;height:auto;display:block;object-fit:cover}
button{font-family:inherit}
a{color:inherit;text-decoration:none}
:focus{outline:transparent}
:focus-visible{box-shadow:0 0 0 4px rgba(58,148,255,0.18);border-radius:0.5rem}
header a:focus-visible,nav a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px rgba(58,148,255,0.12);}
[role="dialog"]:focus{outline:none}
#mobileMenu{display:none}
#mobileMenu.active{display:block}
#mobileMenu nav{max-height:90vh;overflow:auto}
body.menu-locked{overflow:hidden}
.cookie-hidden{display:none !important}
.card-image{max-height:100%;height:auto}
.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:0.75rem;padding:0.5rem}
.rounded-2xl{border-radius:1rem}
.rounded-xl{border-radius:0.75rem}
.shadow-md{box-shadow:0 6px 18px rgba(16,24,40,0.06)}
.shadow-lg{box-shadow:0 20px 40px rgba(2,6,23,0.08)}
.grid-equal{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.kicker{font-size:.875rem;color:var(--muted)}
.h1{font-family:Merriweather,serif;font-size:2.25rem;line-height:1.05}
@media(min-width:640px){
  .h1{font-size:2.5rem}
}
@media(min-width:1024px){
  .h1{font-size:3rem}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important}
}
@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}
@keyframes slideUp{0%{transform:translateY(12px);opacity:0}100%{transform:none;opacity:1}}
.animate-fade-in{animation:fadeIn 600ms ease-out both}
.animate-slide-up{animation:slideUp 500ms cubic-bezier(.2,.9,.2,1) both}
.nav-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,0.5);backdrop-filter:blur(8px);z-index:50;display:flex;align-items:center;justify-content:center}
.menu-panel{background:#fff;border-radius:1rem;padding:2rem;width:96%;max-width:420px;box-shadow:0 30px 60px rgba(2,6,23,0.16)}
.menu-link{font-size:1.125rem;padding:0.6rem 0;display:block}
.cookie-banner{position:fixed;right:1.5rem;bottom:1.5rem;z-index:60;max-width:420px}
.cookie-buttons{display:flex;gap:.5rem;flex-wrap:wrap}
.form-error{color:#b91c1c;font-size:.95rem}
input,textarea,select{border-radius:.5rem;border:1px solid #e6eef8;padding:.6rem .75rem}
input:focus,textarea:focus,select:focus{box-shadow:0 0 0 4px rgba(58,148,255,0.12);border-color:var(--brand-500);outline:none}
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.footer-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem}
@media(min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
:root{--link-focus:rgba(58,148,255,0.18)}
.footer a:focus-visible{box-shadow:0 0 0 4px var(--link-focus);border-radius:.25rem}
