html {font-size:16px}
:root {color-scheme: light dark}
* {box-sizing: border-box}
html,body {height:100%}
body {min-height:100vh;margin:0;font-family:Inter, system-ui, Roboto, Arial, -apple-system, 'Segoe UI', 'Helvetica Neue';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#0f172a;background-color: #ffffff}
img,video {max-width:100%;height:auto;display:block}
.container {max-width:1280px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
:focus {outline:none}
:focus-visible {outline:2px solid rgba(6,182,212,0.18);outline-offset:3px;border-radius:8px}
a {color:inherit;text-decoration:none}
button {font-family:inherit}
button[disabled],.btn-disabled {opacity:.6;cursor:not-allowed}
.iconify {display:inline-block;vertical-align:middle}
#mobileMenu {transition: opacity .32s ease, visibility .32s ease}
#mobileBackdrop {opacity:0;transition:opacity .28s ease}
#mobileMenu.show #mobileBackdrop {opacity:1}
#mobileMenu .animate-slideUp {transform-origin:center;opacity:0;transform:translateY(12px);animation:slideUp .36s ease-out forwards}
@keyframes slideUp {from {opacity:0;transform:translateY(12px)} to {opacity:1;transform:translateY(0)}}
.focus-ring {box-shadow:0 0 0 4px rgba(6,182,212,0.12);border-radius:8px}
.lock-scroll {overflow:hidden;height:100%}
.rounded-2xl {border-radius:1rem}
.rounded-xl {border-radius:.75rem}
.shadow-md {box-shadow:0 6px 18px rgba(15,23,42,0.06)}
.shadow-lg {box-shadow:0 10px 30px rgba(15,23,42,0.08)}
.grid-responsive {display:grid;grid-template-columns:repeat(1,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)} }
.visually-hidden {position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
footer address {font-style:normal}
/* accessibility helpers */
.btn-primary {background-image:linear-gradient(90deg,#7dd3fc 0%,#06b6d4 100%);color:#06202a;padding:.6rem 1.25rem;border-radius:.75rem;font-weight:600}
.btn-secondary {background-color:#ffffff;border:1px solid rgba(15,23,42,0.06);padding:.55rem 1rem;border-radius:.75rem}
.card {background-clip:padding-box}
img.object-cover {object-fit:cover}
.cookie-consent {max-width:22rem}
@media (max-width:420px) { .cookie-consent {right:0;left:0;margin:0 0.5rem} }
