html{font-size:16px;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{min-height:100vh;background-color:#f7efe6;color:#3b3f45;font-family:Inter,ui-sans-serif,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;line-height:1.6;font-size:1rem}img,video{max-width:100%;height:auto;display:block;object-fit:cover}a{color:inherit;text-decoration:none}button{font-family:inherit}input,textarea,button,select{font:inherit}:focus{outline:none}*:focus-visible{outline:3px solid rgba(31,63,91,0.18);outline-offset:2px;border-radius:8px}button:disabled,button[disabled]{opacity:.6;cursor:not-allowed}header a:focus-visible,nav a:focus-visible{outline:3px solid rgba(239,225,198,0.35);outline-offset:2px;border-radius:6px}.container{max-width:1120px;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}}/***** layout safety *****/main{min-height:60vh}header{backdrop-filter:saturate(120%) blur(6px)}footer address,footer p,footer li{color:#6b6f74}input[type="text"],input[type="email"],textarea{background:#fff;color:#2f3336}input[type="text"]::placeholder,input[type="email"]::placeholder,textarea::placeholder{color:#9aa0a6}button.primary,button.secondary{transition:transform .18s ease,box-shadow .18s ease}button.primary:active,button.secondary:active{transform:translateY(1px)}.rounded-2xl{border-radius:1rem}.rounded-xl{border-radius:.75rem}.shadow-md{box-shadow:0 6px 18px rgba(31,63,91,0.06)}.shadow-lg{box-shadow:0 20px 40px rgba(31,63,91,0.08)}.hover\:shadow-lg:hover{box-shadow:0 20px 40px rgba(31,63,91,0.08)}.focus-visible-ring{box-shadow:0 0 0 4px rgba(239,225,198,0.28);border-radius:12px}.iconify{display:inline-block;vertical-align:middle}#mobileMenu{transition:opacity .28s ease,transform .28s ease}#mobileMenu.hidden{opacity:0;pointer-events:none}#mobileMenu:not(.hidden){opacity:1}body.menu-open{overflow:hidden}#mobileBackdrop{transition:opacity .28s ease}#mobileMenu .animate-slide-up-sm{animation:slide-up 420ms cubic-bezier(.16,.84,.44,1) both}@keyframes slide-up{0%{transform:translateY(12px);opacity:0}100%{transform:translateY(0);opacity:1}}@keyframes beam{0%{transform:translateY(8px);opacity:0}100%{transform:translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}100%{opacity:1}}.animate-beam{animation:beam .7s ease-out both}.animate-fade{animation:fade-in .6s ease both}.card-hover{transition:transform .22s ease,box-shadow .22s ease}.card-hover:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(31,63,91,0.08)}/***** cookie modal safe layout *****/#cookieModal{max-width:380px;min-width:260px}@media(max-width:640px){#cookieModal{left:1rem;right:1rem;bottom:1rem;position:fixed;max-width:none;width:auto;border-radius:12px}}/***** form feedback states *****/.form-success{color:#0b8043;background-color:#ecf9f0;padding:.5rem 0;border-radius:.5rem}.form-error{color:#8a1f11;background-color:#fff5f5;padding:.5rem 0;border-radius:.5rem}/* reduced motion */@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}/* ensure readable headings scale */h1{font-size:1.875rem}@media(min-width:640px){h1{font-size:2.25rem}}@media(min-width:1024px){h1{font-size:3rem}}h2{font-size:1.25rem}h3{font-size:1.125rem}p,li{font-size:1rem;line-height:1.7}/* ensure footer links have good contrast */footer a{color:#274156}input:focus,textarea:focus{box-shadow:0 0 0 4px rgba(239,225,198,0.24);border-radius:8px}/* small utility */.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}/* small layout fixes for images in hero/card blocks */.hero-media img{border-radius:12px;display:block;max-height:560px;width:100%;object-fit:cover}