html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;color:#0f172a;background-color:#f8fafc;line-height:1.6;font-size:1rem}h1,h2,h3,h4,h5,h6{color:#0f172a;margin:0 0 .5rem}a{color:inherit;text-decoration:none}img,video,picture,svg{max-width:100%;height:auto;display:block}img{object-fit:cover}button,input,textarea,select{font-family:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}iconify-icon, .iconify{display:inline-block;vertical-align:middle}:focus{outline:0}:focus-visible{outline:3px solid rgba(37,99,235,0.18);outline-offset:3px;border-radius:.5rem}.container{max-width:1200px;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 transitions *****/#mobileMenu{opacity:0;pointer-events:none;transform:translateY(6vh);transition:opacity .35s ease,transform .35s ease}#mobileMenu[aria-hidden="false"],#mobileMenu.open{opacity:1;pointer-events:auto;transform:translateY(0)}#mobileOverlay{transition:opacity .25s ease}#mobileMenu[aria-hidden="false"] #mobileOverlay,#mobileMenu.open #mobileOverlay{opacity:1}#mobileMenu[aria-hidden="true"] #mobileOverlay{opacity:0}/* Cookie modal focusable */#cookie{transition:transform .28s cubic-bezier(.2,.9,.2,1),opacity .28s ease}#cookie.hidden{opacity:0;transform:translateY(8px);pointer-events:none}/* Utility for subtle shadows and motion-safe behaviour */.shadow-soft{box-shadow:0 8px 24px rgba(15,23,42,0.06)}@media (prefers-reduced-motion:reduce){*{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important;scroll-behavior:auto!important}}/* Ensure form controls meet minimum touch target */input[type="text"],input[type="email"],input[type="tel"],textarea,select{min-height:44px}label{display:block}/* Small helpers for visually hidden text when Tailwind utility missing */.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}/* Ensure footer links have good contrast */footer a{color:#0f172a}footer a:hover,footer a:focus{color:#2563eb}/* Prevent images from overflowing rounded containers */.rounded-image{overflow:hidden;border-radius:1rem}/* Tiny responsive tweaks */@media(min-width:1024px){body{font-size:1.02rem}}