html {font-size:16px}
:root {box-sizing:border-box}
*,*::before,*::after {box-sizing:inherit}
body {min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,video,figure {max-width:100%;height:auto;display:block}
a {color:inherit;text-decoration:none}
button {font:inherit}
input,textarea,button,select {font:inherit}
.container {max-width:100%}
.no-scroll {overflow:hidden;touch-action:none;height:100%}
#mobileMenu {transition:opacity .32s ease,transform .36s cubic-bezier(.2,.9,.2,1)}
#mobileMenu.hidden {opacity:0;pointer-events:none;transform:translateY(-8px)}
#mobileMenu.show {opacity:1;pointer-events:auto;transform:translateY(0)}
#menuOverlay {transition:opacity .28s ease}
#menuOverlay.hidden {opacity:0}
#menuOverlay.show {opacity:.5}
.iconify {display:inline-block;vertical-align:middle}
button:focus, [role="button"]:focus, a:focus {outline:transparent}
:focus-visible {outline:4px solid transparent;outline-offset:3px}
:focus-visible {box-shadow:0 0 0 4px rgba(15,23,42,0.08);border-radius:.5rem}
kbd {background:#111827;color:#fff;padding:.15rem .4rem;border-radius:.35rem;font-size:.85em}
.card-media {overflow:hidden;border-radius:1rem}
.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)}
.focus-ring {box-shadow:0 0 0 4px rgba(14,165,164,0.12)}
.cookie-anim {transition:transform .28s cubic-bezier(.2,.9,.2,1),opacity .28s ease}
.cookie-hidden {opacity:0;transform:translateY(8px);pointer-events:none}
.cookie-visible {opacity:1;transform:translateY(0)}
@keyframes slideup {0% {transform:translateY(12px);opacity:0} 100% {transform:translateY(0);opacity:1}}
@keyframes beam {0% {opacity:0} 50% {opacity:.6} 100% {opacity:0}}
@keyframes fade-in {0% {opacity:0} 100% {opacity:1}}
.animate-slideup {animation:slideup .56s cubic-bezier(.2,.9,.2,1) both}
.animate-beam {animation:beam 6s ease-in-out infinite}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
form .field-error {color:#b91c1c;font-size:.95rem;margin-top:.35rem}
input[type="text"],input[type="email"],input[type="tel"],textarea,select {border-radius:.75rem;border:1px solid rgba(15,23,42,0.06);padding:.6rem .9rem}
input:focus,textarea:focus,select:focus {box-shadow:0 6px 18px rgba(2,6,23,0.06);border-color:rgba(2,132,199,0.12)}
.modal {position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1.25rem}
.modal-backdrop {position:fixed;inset:0;background:rgba(2,6,23,0.6);backdrop-filter:blur(6px)}
.modal-panel {background:white;border-radius:1rem;max-width:720px;width:100%;box-shadow:0 20px 50px rgba(2,6,23,0.12);padding:1.25rem}
@media (max-width:640px) {html {font-size:15px}
  .modal-panel {margin:1rem}
}
