html {font-size: 16px;}
:root {color-scheme: light;}
body {font-family: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; background-attachment: fixed;}
img, picture, video {max-width: 100%; height: auto; display: block; object-fit: cover;}
.iconify {display: inline-block; vertical-align: middle;}
button:focus, a:focus, input:focus, textarea:focus {outline: none;}
:focus-visible {outline-offset: 3px;}
.focus-ring {box-shadow: 0 0 0 4px rgba(22,163,74,0.12), 0 0 0 1px rgba(22,163,74,0.06);}
.no-scroll {overflow: hidden;}
#mobileMenu {transition: opacity 320ms cubic-bezier(.2,.8,.2,1), transform 320ms cubic-bezier(.2,.8,.2,1);}
#mobileMenu[aria-hidden='false'] {opacity: 1; pointer-events: auto;}
#mobileMenu[aria-hidden='true'] {opacity: 0; pointer-events: none;}
@media (max-width: 640px) {
  #cookieBanner {right: 1rem; left: 1rem; bottom: 1rem; width: auto;}
}
.cookie-accepted {transform: translateY(8px); opacity: 0.85;}
button[disabled], [aria-disabled='true'] {opacity: 0.55; cursor: not-allowed; transform: none;}
.card-media {max-height: 320px; overflow: hidden;}
.hero-figure {max-height: 420px; overflow: hidden;}
.badge {font-weight: 600; font-size: 0.85rem;}
.header-backdrop {backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);}
.grid-responsive {display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 1rem;}
@media (min-width: 640px) { .grid-responsive {grid-template-columns: repeat(2, minmax(0, 1fr));} }
@media (min-width: 1024px) { .grid-responsive {grid-template-columns: repeat(3, minmax(0, 1fr));} }
.kv-contrast {color: #0f172a;}
.visually-hidden {position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;}
.modal-overlay {background: rgba(2,6,23,0.45);}
.animated-fade {animation: fade_in 480ms ease both;}
@keyframes fade_in {from {opacity: 0; transform: translateY(8px);} to {opacity: 1; transform: translateY(0);} }
.animated-beam {animation: beam 3s ease-in-out infinite;}
@keyframes beam {0% {opacity: 0.6; transform: translateY(0);} 50% {opacity: 1; transform: translateY(-6px);} 100% {opacity: 0.6; transform: translateY(0);} }
.btn-focus {box-shadow: 0 6px 18px rgba(16,185,129,0.12);}
.card-hover {transition: transform 220ms cubic-bezier(.2,.8,.2,1), box-shadow 220ms cubic-bezier(.2,.8,.2,1);}
.card-hover:hover {transform: translateY(-6px);} 
.form-error {color: #b91c1c;}
.form-success {color: #065f46;}
.footer-grid {display: grid; grid-template-columns: 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);} }
