:root{--ring:#6366f1;--ok:#16a34a;--err:#dc2626;--brand:#6366f1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-size:16px;line-height:1.6}img{max-width:100%;height:auto;display:block;object-fit:cover}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ring);outline-offset:2px}body.nav-open{overflow:hidden}#mobileMenu{opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease}#mobileMenu:not(.hidden){opacity:1;transform:translateY(0)}#cookie{animation:pop .25s ease-out both}@keyframes pop{0%{transform:scale(.98);opacity:0}100%{transform:scale(1);opacity:1}}#carouselTrack{will-change:transform}#carouselDots button{transition:background-color .2s ease,width .2s ease,height .2s ease;border:0}#carouselDots button[aria-current="true"]{background-color:var(--brand);width:.75rem;height:.75rem}input:invalid,textarea:invalid,select:invalid{border-color:var(--err)}input:valid,textarea:valid,select:valid{border-color:var(--ok)}.success{color:#065f46}.error{color:#7f1d1d}.shadow-focus{box-shadow:0 0 0 2px rgba(99,102,241,.35)}.elevate{transition:transform .2s ease,box-shadow .2s ease}.elevate:hover{transform:translateY(-2px)}.fade-in{animation:fade .4s ease both}@keyframes fade{0%{opacity:0}100%{opacity:1}}.slide-up{animation:slideUp .35s ease both}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}}