html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; line-height: 1.45; color: #1f2937; background-color: #ffffff; }
img { max-width: 100%; height: auto; display: block; object-fit: cover; }
.container { max-width: 100%; }
:focus { outline: none; }
:focus-visible { outline: 3px solid rgba(66, 153, 225, 0.35); outline-offset: 2px; border-radius: 8px; }
a { color: inherit; text-decoration: none; }
button[disabled], .btn[disabled] { opacity: 0.5; pointer-events: none; }
.iconify { transition: transform 200ms ease, opacity 200ms ease; display: inline-block; }
.iconify:focus, .iconify:hover { transform: translateY(-2px); }
header a:focus, nav a:focus, footer a:focus { box-shadow: 0 0 0 4px rgba(66,153,225,0.08); border-radius: 8px; }
#mobileMenu[aria-hidden="false"] { display: block; }
#mobileBackdrop { transition: opacity 260ms ease; }
#mobileMenu[aria-hidden="true"] { display: none; }
body.lock-scroll { overflow: hidden; }
.cookie-consent-hidden { display: none !important; }
input, textarea, select { font-family: inherit; font-size: 16px; color: #111827; border-radius: 8px; }
input:focus, textarea:focus, select:focus { box-shadow: 0 6px 18px rgba(16,24,40,0.06), 0 0 0 4px rgba(34,197,94,0.08); }
.card { border-radius: 16px; }
.rounded-2xl { border-radius: 1rem; }
.shadow-lg { box-shadow: 0 10px 30px rgba(2,6,23,0.08); }
.shadow-md { box-shadow: 0 6px 18px rgba(2,6,23,0.06); }
.grid-responsive { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) { .grid-responsive { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .grid-responsive { grid-template-columns: repeat(12, 1fr); } }
@keyframes beam { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }
@keyframes fadeIn { 0% { opacity: 0; transform: translateY(8px); } 100% { opacity: 1; transform: translateY(0); } }
.animate-beam { animation: beam 6s ease-in-out infinite; }
.animate-fadeIn, .animate-fadeIn { animation: fadeIn 600ms ease-out both; }
@media (prefers-reduced-motion: reduce) { .animate-beam, .animate-fadeIn, .animate-* { animation: none !important; transition: none !important; } }
.visually-hidden { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
footer a { transition: color 180ms ease; }
button:focus, a:focus { outline-offset: 2px; }
.modal { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; }
.kv-image { max-width: 100%; height: auto; }
/* Ensure cookie modal is not intrusive visually */
#cookieModal { min-width: 18rem; max-width: 20rem; box-shadow: 0 8px 30px rgba(2,6,23,0.12); }
@media (max-width: 420px) { #cookieModal { right: 1rem; left: 1rem; bottom: 1rem; width: auto; } }
