html,body{height:100%}body{font-family:Inter,system-ui,Arial,sans-serif;font-size:16px;line-height:1.6;color:#0f172a;background-color:#ffffff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block;object-fit:cover}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus{outline:transparent}:focus-visible{box-shadow:0 0 0 4px rgba(59,130,246,0.18);border-radius:8px}.iconify{display:inline-block;vertical-align:middle}.container{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media(min-width:640px){.container{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.container{padding-left:2.5rem;padding-right:2.5rem}}#mobile-menu{transition:opacity .28s ease,transform .28s ease}#mobile-menu[aria-hidden="false"]{display:block}body.menu-open{overflow:hidden}#mobile-backdrop{backdrop-filter:blur(6px) saturate(110%)}#mobile-menu .animate-slide-up{animation:slideUp .48s cubic-bezier(.22,.9,.32,1) both}@keyframes slideUp{0%{transform:translateY(18px);opacity:0}100%{transform:translateY(0);opacity:1}}/******** Cookie Banner and Modal Styles ********/#cookie-banner{min-width:16rem;max-width:26rem;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,0.06)}#cookie-banner button{border:0;cursor:pointer}#cookie-banner [id^="cookie-"]{transition:transform .18s ease,opacity .18s ease}#cookie-banner [id^="cookie-"]:focus-visible{box-shadow:0 0 0 4px rgba(59,130,246,0.18)}.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 18px 40px rgba(15,23,42,0.08)}.bg-surface{background:linear-gradient(180deg,#ffffff,#f8fafc)}.card-hover{transition:transform .22s ease,box-shadow .22s ease}.card-hover:hover{transform:translateY(-6px);box-shadow:0 22px 40px rgba(15,23,42,0.08)}.focus-ring{box-shadow:0 0 0 4px rgba(59,130,246,0.12);border-radius:8px}.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.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)}}/******** Accessibility Helpers ********/table{border-collapse:collapse}button[disabled]{opacity:.6;cursor:not-allowed}input,select,textarea{font-family:inherit}header[role="banner"]{position:relative;z-index:40}footer[role="contentinfo"]{background:#ffffff}nav a:focus-visible,button:focus-visible{outline:transparent;box-shadow:0 0 0 4px rgba(59,130,246,0.14);border-radius:6px}kbd{background:#f3f4f6;border-radius:6px;padding:.08rem .4rem;font-size:.9em}/* Ensure contrast for small text */.text-small{font-size:.9375rem;color:#0f172a}/* Utility for hidden but accessible */.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}/* Provide a subtle animated background for hero components if Tailwind utilities are not present */.hero-gradient{background:radial-gradient(600px 200px at 10% 10%,rgba(59,130,246,0.06),transparent 15%),linear-gradient(180deg,#ffffff,#fbfdff)}/* Lightweight motion-safe reduction */@media (prefers-reduced-motion:reduce){*{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important}}