:root{
  --focus-ring: 4px;
  --brand-500: #3b6bff;
  --brand-700: #244ecf;
  --bg: #ffffff;
}
html,body{height:100%;}
body{font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;background-attachment:fixed}
img,figure{max-width:100%;height:auto;display:block;object-fit:cover}
.container{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
:where(a,button,input,textarea){text-decoration-skip-ink:auto}
button,input,textarea,a{font-family:inherit}
button:disabled, [disabled]{opacity:.6;cursor:not-allowed}
button, a, input{outline-offset:3px}
:focus-visible{outline:none;box-shadow:0 0 0 var(--focus-ring) rgba(59,107,255,0.18);border-radius:.375rem}
.iconify{display:inline-block;vertical-align:middle}
#mobileMenu{transition:opacity .28s ease,transform .28s ease}
#mobileMenu.active{opacity:1;pointer-events:auto}
#mobileMenu .absolute > .relative > .absolute{transform:translateX(0)}
.no-scroll{overflow:hidden;touch-action:none}
.cookie-hidden{transform:translateY(18px);opacity:0;pointer-events:none}
.cookie-visible{transform:translateY(0);opacity:1}
.card-image{max-height:280px;overflow:hidden;border-radius:0.75rem}
.hero-media img{max-height:440px;width:100%;height:auto;display:block}
.shadow-md{box-shadow:0 6px 20px rgba(15,45,106,0.08)}
.rounded-xl{border-radius:1rem}
.rounded-2xl{border-radius:1.25rem}
.grid-cols-3{grid-template-columns:repeat(3,1fr)}
@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}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@keyframes slide-right{0%{transform:translateX(14%);opacity:0}100%{transform:translateX(0);opacity:1}}
@keyframes fade-up{0%{transform:translateY(8px);opacity:0}100%{transform:translateY(0);opacity:1}}
.mobile-panel{animation:slide-right .32s cubic-bezier(.2,.9,.3,1) both}
.fade-in{animation:fade-up .44s ease both}
footer address a, footer a{color:inherit}
input[type='text'],input[type='email'],input[type='tel'],textarea{border:1px solid rgba(15,45,106,0.06);padding:.6rem .8rem;border-radius:.5rem;background:#fff}
.form-error{color:#b91c1c;font-size:.95rem}
kbd{background:#f3f4f6;border-radius:.375rem;padding:.12rem .4rem;font-size:.85rem}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.5rem .75rem;background:#fff;border:1px solid rgba(15,45,106,0.08);border-radius:.375rem;z-index:999}
@media (max-width:767px){.hero-media img{max-height:320px}}
