html{font-size:16px;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*::before,*::after{box-sizing:inherit}body{min-height:100vh;margin:0;font-family:Inter,system-ui,Helvetica,Arial,sans-serif;background-color:#f8fafc;color:#0f172a;line-height:1.6;font-size:1rem;-webkit-text-size-adjust:100%}h1,h2,h3,h4,h5,h6{font-family:Georgia,serif}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit}input,button,select,textarea{font-family:inherit}:focus{outline:none}:focus-visible{box-shadow:0 0 0 4px rgba(34,197,94,0.18);border-radius:0.5rem}.container{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media(min-width:1024px){.container{padding-left:2.5rem;padding-right:2.5rem}}/******** Scroll lock for mobile menu ********/body.scroll-lock{overflow:hidden;height:100vh}#mobileMenu{transition:opacity 280ms cubic-bezier(.2,.9,.2,1),transform 320ms cubic-bezier(.2,.9,.2,1)}#mobileMenu.menu-open{opacity:1;transform:translateY(0)}#mobileMenu.menu-open .shadow-lg{transform:translateY(0);opacity:1}#mobileMenu .shadow-lg{transform:translateY(12px);opacity:0;transition:transform 320ms cubic-bezier(.2,.9,.2,1),opacity 320ms cubic-bezier(.2,.9,.2,1)}@media(max-width:420px){#mobileMenu .max-w-md{width:100%;margin:0;border-radius:1rem}}/******** Cookie banner adjustments ********/#cookieBanner{transition:opacity 240ms ease,transform 240ms ease}#cookieBanner.hidden{opacity:0;transform:translateY(12px);pointer-events:none}@media(max-width:480px){#cookieBanner{right:1rem;left:1rem;width:auto}}/******** Buttons fallback states ********/.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}a[aria-disabled="true"]{opacity:.5;pointer-events:none}button:disabled{opacity:.5;pointer-events:none}input:invalid{box-shadow:0 0 0 4px rgba(220,38,38,0.08)}/******** Cards and images ********/.rounded-2xl{border-radius:1rem}.rounded-xl{border-radius:.75rem}.shadow{box-shadow:0 6px 18px rgba(15,23,42,0.06)}.shadow-md{box-shadow:0 8px 30px rgba(15,23,42,0.08)}.shadow-lg{box-shadow:0 20px 40px rgba(2,6,23,0.12)}.card-hover{transition:transform 240ms cubic-bezier(.2,.9,.2,1),box-shadow 240ms ease}.card-hover:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(2,6,23,0.12)}/******** Accessibility helpers ********/.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}kbd{background:#111827;color:#fff;padding:.06rem .5rem;border-radius:.375rem;font-size:.85rem}label{display:inline-block;margin-bottom:.25rem;font-weight:600}.form-field{display:flex;flex-direction:column;gap:.5rem}.input,textarea,select{padding:.6rem .8rem;border:1px solid #e6edf3;border-radius:.5rem;background-color:#fff;color:#0f172a;transition:box-shadow .18s ease,border-color .18s ease}.input:focus,textarea:focus,select:focus{box-shadow:0 0 0 4px rgba(34,197,94,0.12);border-color:rgba(34,197,94,0.65)}/******** Responsive image constraint ********/.media-wrap{overflow:hidden;border-radius:1rem}.media-wrap img{object-fit:cover;width:100%;height:auto;display:block}@media(min-width:1024px){.hero-media{height:22rem}}@media(min-width:1280px){.hero-media{height:28rem}}/******** Small utilities used by JS ********/.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px}footer address{font-style:normal}footer a{transition:color .18s ease}input[type=tel],input[type=email]{-webkit-appearance:none}svg.icon{display:inline-block;vertical-align:middle}html,body{background-clip:padding-box}