@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;800&family=Merriweather:wght@700&display=swap');
:root{
  --brand-500:#0077cc;
  --brand-400:#4fbfff;
  --accent-600:#059669;
  --focus-ring: rgba(0,119,204,0.18);
}
html{font-family:Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; font-size:16px;}
body{min-height:100vh; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;}
img, video, picture{max-width:100%; height:auto; display:block; object-fit:cover;}
.iconify{display:inline-flex; align-items:center; justify-content:center; line-height:1;}
:focus{outline: none;}
:focus-visible{box-shadow:0 0 0 4px var(--focus-ring); border-radius:0.75rem;}
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible{box-shadow:0 0 0 4px var(--focus-ring);}
.container{max-width:1200px; margin-left:auto; margin-right:auto;}
.no-scroll{overflow:hidden;}
#mobile-menu{transition:opacity .28s ease, transform .28s ease;}
#mobile-menu[aria-hidden="false"]{opacity:1; transform:translateY(0);} 
#mobile-menu[aria-hidden="true"]{opacity:0; transform:translateY(-6px);}
header .shadow-sm{background:linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.85));}
.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 12px 30px rgba(16,24,40,0.08);} 
.card-hover{transition:transform .28s cubic-bezier(.2,.9,.3,1), box-shadow .28s ease;}
.card-hover:hover{transform:translateY(-6px);}
.button-primary{background-image:linear-gradient(90deg,var(--brand-500),var(--accent-600)); color:#fff;}
.button-secondary{background:#fff; border:1px solid rgba(15,23,42,0.06);}
.cookie-action{transition:background-color .18s ease, transform .18s ease;}
.cookie-action:focus-visible{box-shadow:0 0 0 4px rgba(5,150,105,0.12);}
#cookie-consent{min-width:18rem; max-width:22rem;}
@media (max-width:640px){
  #cookie-consent{right:1rem; left:1rem; bottom:1rem; width:auto;}
}
.form-success{color:var(--brand-500);}
.form-error{color:#d14343;}
input, textarea{font-family:inherit; font-size:1rem;}
.block-hidden{display:none !important;}
.visually-hidden{position:absolute !important; height:1px; width:1px; overflow:hidden; clip:rect(1px, 1px, 1px, 1px); white-space:nowrap;}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}
