@font-face { font-family: Aleo; font-style: normal; font-weight: 300; src: url("fonts/e033009a-248c-457a-9cd9-277c0a1e20e2.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Aleo; font-style: normal; font-weight: 400; src: url("fonts/e033009a-248c-457a-9cd9-277c0a1e20e2.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Aleo; font-style: normal; font-weight: 500; src: url("fonts/e033009a-248c-457a-9cd9-277c0a1e20e2.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Aleo; font-style: normal; font-weight: 600; src: url("fonts/e033009a-248c-457a-9cd9-277c0a1e20e2.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Aleo; font-style: normal; font-weight: 700; src: url("fonts/e033009a-248c-457a-9cd9-277c0a1e20e2.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 300; src: url("fonts/456c0338-ef97-44a2-a61b-9b1bed69ec0e.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 400; src: url("fonts/456c0338-ef97-44a2-a61b-9b1bed69ec0e.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 500; src: url("fonts/456c0338-ef97-44a2-a61b-9b1bed69ec0e.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 600; src: url("fonts/456c0338-ef97-44a2-a61b-9b1bed69ec0e.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 700; src: url("fonts/456c0338-ef97-44a2-a61b-9b1bed69ec0e.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }.overflow-hidden { overflow: hidden !important; }
.d-inline-block { display: inline-block !important; }
.d-block { display: block !important; }
.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.d-none { display: none !important; }
.position-relative { position: relative !important; }
.position-absolute { position: absolute !important; }
.position-fixed { position: fixed !important; }
.w-100 { width: 100% !important; }
.h-100 { height: 100% !important; }
.flex-row { flex-direction: row !important; }
.flex-row-reverse { flex-direction: row-reverse !important; }
.flex-column-reverse { flex-direction: column-reverse !important; }
.flex-wrap { flex-wrap: wrap !important; }
.justify-content-center { justify-content: safe center !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-evenly { justify-content: space-evenly !important; }
.align-items-center { align-items: center !important; }
.align-self-center { align-self: center !important; }
.mx-auto { margin-right: auto !important; margin-left: auto !important; }
.my-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mt-5 { margin-top: 3rem !important; }
.mb-0 { margin-bottom: 0px !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.p-0 { padding: 0px !important; }
.px-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
.py-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
.pt-2 { padding-top: 0.5rem !important; }
.pt-3 { padding-top: 1rem !important; }
.pt-4 { padding-top: 1.5rem !important; }
.pb-3 { padding-bottom: 1rem !important; }
.pb-4 { padding-bottom: 1.5rem !important; }
.text-center { text-align: center !important; }
.text-uppercase { text-transform: uppercase !important; }
@media (min-width: 576px) {
}
@media (min-width: 768px) {
  .d-md-inline-block { display: inline-block !important; }
  .pt-md-3 { padding-top: 1rem !important; }
}
@media (min-width: 992px) {
  .d-lg-block { display: block !important; }
  .d-lg-flex { display: flex !important; }
  .d-lg-none { display: none !important; }
  .flex-lg-row { flex-direction: row !important; }
  .my-lg-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
  .mb-lg-4 { margin-bottom: 1.5rem !important; }
  .pt-lg-0 { padding-top: 0px !important; }
  .pb-lg-0 { padding-bottom: 0px !important; }
}
@media (min-width: 1200px) {
  .d-xl-block { display: block !important; }
  .d-xl-flex { display: flex !important; }
}
@media (min-width: 1400px) {
}
:root { --swiper-theme-color: #007aff; }
:root { --swiper-navigation-size: 44px; }
@keyframes swiper-preloader-spin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
html { margin: 0px; scrollbar-gutter: stable; scroll-behavior: inherit !important; }
body { width: 100%; padding: 0px; position: relative; line-height: 1.5; font-family: "Public Sans", sans-serif; font-weight: 300; font-size: clamp(16px, 15.18px + 0.2vw, 18px); color: rgb(39, 39, 39); text-rendering: optimizelegibility; text-size-adjust: 100%; -webkit-font-smoothing: subpixel-antialiased; margin: 0px; }
body * { -webkit-tap-highlight-color: transparent; border-radius: 0px; }
body ::-webkit-details-marker, body ::marker { display: none !important; content: none !important; }
body :focus-visible { outline: rgb(17, 17, 17) solid 2px; border-radius: 3px; transition: 0.15s !important; }
body a:not(.ab-item) { color: rgb(0, 32, 108); text-decoration: none; transition: 0.4s; }
@media (hover: hover) {
  body a:not(.ab-item):hover { color: rgb(0, 60, 180); text-decoration: none; }
}
@media only screen and (min-width: 1170px) {
}
@media only screen and (min-width: 1170px) {
}
body .container { margin: 0px auto; }
@media only screen and (max-width: 575px) {
  body .container { padding-right: 20px; padding-left: 20px; }
}
@media only screen and (min-width: 576px) {
  body .container { max-width: 1248px; width: 94%; }
}
body .container.smaller-c { max-width: 1248px; }
.sr-only { position: absolute; border: 0px; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0px; width: 1px; overflow-wrap: normal !important; }
@media (hover: hover) and (pointer: fine) {
  * { scrollbar-width: thin; scrollbar-color: rgba(0, 0, 0, 0.3) transparent; }
  ::-webkit-scrollbar { appearance: none; width: 6px; }
  ::-webkit-scrollbar-track { background: transparent; }
  ::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.3); }
  ::-webkit-scrollbar-thumb:hover { background: rgba(0, 0, 0, 0.35); }
}
body picture { display: block; }
body h1, body h2, body h3 { margin: 0px 0px clamp(8px, 4.71px + 0.78vw, 16px); padding: 0px; font-family: Aleo, sans-serif; line-height: 1.1; text-wrap: balance; }
body h2 { font-size: clamp(28px, 21px + 1.67vw, 45px); font-weight: 500; }
body h3 { font-size: clamp(26px, 21.88px + 0.98vw, 36px); }
body p { margin: 0px; font-size: clamp(16px, 15.18px + 0.2vw, 18px); }
body p:empty { height: 1.5rem; }
body .ff-aleo { font-family: Aleo, sans-serif; }
body .regular { font-weight: 400; }
body .semibold { font-weight: 600; }
body .cover { object-fit: cover; }
body .fs-20-16, body .fs-20-16 p { font-size: clamp(16px, 14.35px + 0.39vw, 20px); }
body .fs-15 { font-size: 15px; }
body .text-unbalance { text-wrap: initial; }
@media only screen and (min-width: 992px) {
}
body .label-global { display: inline-block; margin-bottom: 24px; padding: 2px 8px 2px 12px; font-size: 15px; font-weight: 500; letter-spacing: 4px; color: rgb(255, 255, 255); text-transform: uppercase; }
@media only screen and (min-width: 992px) {
  body .label-global { padding: 8px 8px 8px 12px; }
}
body .small-title { padding-bottom: 10px; font-size: clamp(14px, 13.59px + 0.1vw, 15px); font-weight: 500; line-height: 1.8; letter-spacing: 4px; text-decoration-line: underline; text-decoration-style: solid; text-decoration-thickness: 1px; text-underline-offset: 2px; text-underline-position: from-font; text-transform: uppercase; color: rgb(81, 139, 255); }
body img { display: block; max-width: 100%; height: auto; object-fit: contain; }
@media only screen and (max-width: 575px) {
}
@media only screen and (min-width: 576px) {
}
@media only screen and (max-width: 767px) {
}
@media only screen and (max-width: 767px) {
}
@media only screen and (max-width: 575px) {
}
body .white-color { color: rgb(255, 255, 255) !important; }
body .white-bg-color { background-color: rgb(255, 255, 255) !important; }
body .blue-color { color: rgb(0, 32, 108) !important; }
body .blue-bg-color { background-color: rgb(0, 32, 108) !important; }
body .blue2-bg-color { background-color: rgb(29, 104, 255) !important; }
body .purple-bg-color { background-color: rgb(76, 35, 157) !important; }
body .ice-blue-bg-color { background-color: rgb(235, 242, 255) !important; }
@keyframes rotate { 
  100% { transform: rotate(360deg); }
}
@keyframes move-top-bottom { 
  0% { transform: translateY(-100%); }
  25% { transform: translateY(0px); }
  75% { transform: translateY(0px); }
  100% { transform: translateY(100%); }
}
@keyframes fade-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes fade-out { 
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes bounce { 
  0%, 20%, 50%, 80%, 100% { transform: translateY(0px); }
  40% { transform: translateY(-30px); }
  60% { transform: translateY(-15px); }
}
@media only screen and (max-width: 1199px) {
}
.site-header { padding: 14px 0px; background-color: rgb(255, 255, 255); border-bottom: 1px solid rgb(235, 242, 255); transform: translateY(0px); transition: 0.35s; z-index: 20; }
@media only screen and (min-width: 992px) {
  .site-header { padding: 20px 0px; }
}
@media only screen and (min-width: 1200px) {
  .site-header { padding: 25px 0px; }
}
@media only screen and (min-width: 1200px) {
  .site-header > .container { width: 92.5%; }
}
.site-header .logo { width: 162px; height: 38px; }
@media only screen and (min-width: 992px) {
  .site-header .logo { width: 192px; height: 45px; }
}
.site-header .logo a img { width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.site-header ul li { list-style: none; }
@media only screen and (max-width: 1199px) {
  .site-header .menus { width: 100vw; height: 100vh; padding: 25px 0px 150px; position: absolute; top: 100%; left: 0px; background: rgb(255, 255, 255); border-top: 1px solid rgb(235, 242, 255); transform: translate(100%); transition: transform 0.4s; overflow-y: auto; }
}
@media only screen and (min-width: 1200px) {
  .site-header .menus { display: flex; width: calc(100% - 210px); }
}
.site-header .menus ul.level-1 { margin: 0px; padding: 0px; }
.site-header .menus ul.level-1 > li { position: relative; }
@media only screen and (max-width: 1199px) {
  .site-header .menus ul.level-1 > li > a { padding: 0px 0px 22px !important; }
}
.site-header .menus ul.level-1 > li.menu-item-has-children > a { margin-right: 20px; }
@media only screen and (max-width: 1199px) {
  .site-header .menus ul.level-1 > li.menu-item-has-children > a { width: fit-content; }
}
.site-header .menus ul.level-1 > li .btn-for-sm { padding: 9px; right: 0px; top: 0px; }
@media only screen and (max-width: 1199px) {
  .site-header .menus ul.level-1 > li .btn-for-sm { right: clamp(22px, 14.45px + 1.8vw, 36px); top: -3px; }
}
.site-header .menus ul.level-1 > li .btn-for-sm svg { transition: transform 0.4s; }
.site-header .menus ul.level-1 > li .btn-for-sm svg path { transition: 0.4s; }
@media only screen and (min-width: 1200px) {
  .site-header .menus ul.level-1 > li .btn-for-sm svg { width: 10px; height: auto; }
}
@media (hover: hover) {
  .site-header .menus ul.level-1 > li .btn-for-sm:hover svg path { stroke: rgb(29, 104, 255); }
}
.site-header .menus ul.level-1 > li a { padding: 5px 12px; font-size: 16px; font-weight: 400; color: rgb(85, 89, 115); transition: 0.4s; }
@media only screen and (max-width: 1199px) {
  .site-header .menus ul.level-1 > li a { margin: 10px 35px 0px; font-size: 18px; width: calc(100% - 70px); justify-content: space-between; }
}
@media (hover: hover) {
  .site-header .menus ul.level-1 > li a:hover { color: rgb(29, 104, 255); }
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (max-width: 1199px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (max-width: 1199px) {
}
@media only screen and (max-width: 1199px) {
}
@media only screen and (max-width: 1199px) {
}
@media only screen and (max-width: 1199px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (max-width: 1199px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (max-width: 1199px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1600px) {
}
@media only screen and (max-width: 1199px) {
}
@media (hover: hover) {
}
@media only screen and (min-width: 1200px) and (max-width: 1440px) {
}
@media (hover: hover) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (max-width: 1199px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (max-width: 1199px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1600px) {
}
@media only screen and (max-width: 1199px) {
}
@media (hover: hover) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1200px) and (hover: hover) {
}
.site-header .menus .secondary ul > li a { display: inline-block; margin-top: 10px; padding: 5px 10px; font-size: 16px; color: rgb(0, 60, 180) !important; }
.site-header .menus .secondary ul > li:last-child a { display: inline-flex; align-items: center; height: 41px; margin: 0px 18px 0px 12px; border: 1.5px solid rgb(0, 60, 180); border-radius: 5px; }
@media only screen and (max-width: 1199px) {
  .site-header .menus .secondary ul > li:last-child a { width: calc(100% - 70px); margin: 10px 35px 0px; font-size: 18px; border: 0px; height: unset; padding: 0px !important; }
}
@media (hover: hover) {
  .site-header .menus .secondary ul > li:last-child a:hover { background-color: rgb(0, 60, 180); color: rgb(255, 255, 255) !important; }
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (max-width: 1199px) {
}
@media (hover: hover) {
}
.site-header .search-icon { width: 41px; height: 41px; padding: 0px; border: 0px; background: transparent; color: rgb(0, 60, 180); border-radius: 10px; cursor: pointer; transition: 0.4s; overflow: hidden; }
@media only screen and (min-width: 1200px) {
  .site-header .search-icon { border-radius: 5px !important; }
}
.site-header .search-icon svg { width: 21px; height: 21px; }
.site-header .search-icon svg path { transition: 0.4s; }
@media (hover: hover) {
  .site-header .search-icon:hover { background-color: rgb(0, 60, 180); }
  .site-header .search-icon:hover svg path { stroke: rgb(255, 255, 255); }
}
.site-header .s-form-clip { width: 320px; position: absolute; top: calc(100% + 25px); right: 0px; overflow: hidden; pointer-events: none; z-index: 30; }
.site-header .s-form--dropdown { width: 100%; padding: 12px; background: rgb(255, 255, 255); border-width: 0px 1px 1px; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-right-color: rgb(235, 242, 255); border-bottom-color: rgb(235, 242, 255); border-left-color: rgb(235, 242, 255); border-image: initial; border-top-style: initial; border-top-color: initial; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; visibility: hidden; pointer-events: none; transform: translateY(-100%); transition: transform 0.35s, visibility linear 0.35s; }
.site-header .s-form--dropdown .s-wrap { margin-top: 0px; width: 100%; max-width: none; }
.site-header .s-wrap { border-radius: 5px; border: 1.5px solid rgb(0, 60, 180); }
.site-header .s-wrap input { width: calc(100% - 40px); height: 32px; padding: 0px 10px; border: 0px; border-radius: 10px; font-size: 16px; background: transparent; }
.site-header .s-wrap input::-webkit-search-decoration, .site-header .s-wrap input::-webkit-search-cancel-button { appearance: none; }
.site-header .s-wrap input:focus, .site-header .s-wrap input:focus-visible { outline: 0px; }
.site-header .s-wrap button { align-self: center; display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-right: 10px; padding: 0px; border: 0px; background: transparent; color: rgb(0, 60, 180); font-size: 20px; cursor: pointer; }
.site-header .s-wrap button svg { display: block; width: 100%; height: 100%; }
#page { overflow: hidden; }
.site-main { padding-top: 66px; overflow-x: hidden; }
@media only screen and (min-width: 992px) {
  .site-main { padding-top: 85px; }
}
@media only screen and (min-width: 1200px) {
  .site-main { padding-top: 95px; }
}
.site-main ul { margin: 0px; list-style: none; }
.site-main ul li { padding-left: 10px; position: relative; font-size: clamp(16px, 15.18px + 0.2vw, 18px); line-height: 1.6; }
.site-main ul li::before { content: ""; width: 3px; height: 3px; position: absolute; top: clamp(11px, 10.18px + 0.2vw, 13px); left: 0px; background-color: rgb(39, 39, 39); border-radius: 100%; }
@media only screen and (min-width: 768px) {
}
@media only screen and (min-width: 768px) {
}
@media only screen and (max-width: 575px) {
}
@media only screen and (min-width: 768px) {
}
@media only screen and (max-width: 767px) {
}
@media only screen and (min-width: 576px) {
}
@media only screen and (max-width: 575px) {
}
@media only screen and (min-width: 768px) {
}
@media only screen and (max-width: 767px) {
}
@media only screen and (min-width: 992px) {
}
@media only screen and (max-width: 991px) {
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (max-width: 1199px) {
}
.frontend .inview-animate--fade { transition: opacity 0.8s linear; opacity: 0; }
.frontend .inview-animate--fade.inview-active { opacity: 1; }
@media only screen and (min-width: 992px) {
}
@media only screen and (min-width: 1170px) {
}
@media only screen and (min-width: 1440px) {
}
@media only screen and (min-width: 1920px) {
}
@media only screen and (min-width: 992px) {
}
@media only screen and (min-width: 1170px) {
}
@media only screen and (min-width: 1440px) {
}
@media only screen and (min-width: 1920px) {
}
@media only screen and (min-width: 992px) {
}
@media only screen and (min-width: 1170px) {
}
@media only screen and (min-width: 1440px) {
}
@media only screen and (min-width: 1920px) {
}
@media only screen and (min-width: 992px) {
}
@media only screen and (min-width: 1170px) {
}
@media only screen and (min-width: 1440px) {
}
@media only screen and (min-width: 1920px) {
}
.btn { display: inline-block; padding: clamp(10px, 7.94px + 0.49vw, 15px) 19px; font-size: clamp(16px, 15.18px + 0.2vw, 18px); font-weight: 500; line-height: 1.2; box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px; transition: 0.4s; background-color: rgb(29, 104, 255) !important; color: rgb(255, 255, 255) !important; border-radius: 10px !important; }
@media (hover: hover) {
  .btn:hover { background-color: rgb(0, 60, 180) !important; }
}
.frontend input, .frontend textarea, .frontend button:not(.btn-for-sm) { font-size: clamp(16px, 15.18px + 0.2vw, 18px); border: 0px; border-radius: 0px; background: transparent; }
.frontend button { border: 0px; border-radius: 0px; background: transparent; cursor: pointer; }
html, input[type="search"] { box-sizing: border-box; }
*, ::before, ::after { box-sizing: inherit; }
.screen-reader-text { clip: rect(0px, 0px, 0px, 0px); height: 1px; width: 1px; border: 0px; overflow: hidden; position: absolute !important; }
.screen-reader-text:focus, .screen-reader-shortcut:focus { height: auto; width: auto; display: block; font-size: 1em; font-weight: 700; padding: 15px 23px 14px; color: rgb(51, 51, 51); background: rgb(255, 255, 255); z-index: 100000; text-decoration: none; box-shadow: rgba(0, 0, 0, 0.6) 0px 0px 2px 2px; clip: auto !important; }
.hero { padding: 40px 10px 60px; }
@media only screen and (max-width: 575px) {
  .hero .container { padding-left: 0px; padding-right: 0px; }
}
@media only screen and (min-width: 992px) {
  .hero { min-height: 600px; }
  .home .hero { padding: 100px 0px 250px; }
}
.hero h1 { font-weight: 600; }
.home .hero h1 { font-size: clamp(36px, 24.47px + 2.75vw, 64px); }
@media only screen and (min-width: 992px) {
}
.hero .bg { inset: 0px; z-index: -2; }
.hero .inner { padding: clamp(15px, 7.88px + 1.69vw, 35px); }
@media only screen and (min-width: 992px) {
  .hero .inner { width: 90%; }
}
@media only screen and (min-width: 1200px) {
  .hero .inner { width: 69%; }
}
.hero .inner .arrows { width: 100%; top: 0px; left: 0px; z-index: 1; }
@media only screen and (max-width: 991px) {
  .hero .inner .arrows svg { width: 20px; height: 20px; }
  .hero .inner .arrows svg path { stroke-width: 4px; }
}
.hero .inner .arrows.bottom { top: auto; bottom: 0px; }
.hero .inner .swrap { padding: 10px 10px 30px; }
.hero .inner .small-title { padding: 9px 9px 9px 14px; font-size: 12px; font-weight: 600; color: rgb(255, 255, 255); background-color: rgb(29, 104, 255); text-decoration: none; letter-spacing: 4px; }
.hero .content p:not(:empty):not(:last-child) { margin-bottom: 15px; }
@media (hover: hover) {
}
.hero .cta { margin: 40px 0px 20px; }
@media only screen and (min-width: 1200px) {
}.go-top-wrap { z-index: 3; }
.go-top-wrap .go-top { position: absolute; right: 10px; bottom: 10px; transform: translate(calc(100% + 10px)); transition: transform 0.4s; background: transparent; border: 0px; }
@media only screen and (min-width: 992px) {
  .go-top-wrap .go-top { bottom: clamp(100px, -20px + 20.83vw, 280px); }
}
.go-top-wrap .go-top svg { width: clamp(30px, 8.67px + 3.7vw, 62px); }
.site-footer { padding-top: clamp(74px, 63.29px + 2.55vw, 100px); padding-bottom: clamp(30px, 27.94px + 0.49vw, 35px); background-color: #2C4671; }
.site-footer * { color: rgb(255, 255, 255); font-weight: 400; font-size: 15px; }
.site-footer > .container { max-width: 1320px; }
.site-footer ul { margin: 0px; padding: 0px; }
.site-footer ul li { list-style: none; }
.site-footer ul li::before { content: none; }
.site-footer ul li.ot-sdk-show-settings { cursor: pointer; padding: 5px 0px 7px; }
@media only screen and (max-width: 991px) {
  .site-footer ul li.ot-sdk-show-settings { padding: 0px 7px; margin-right: 7px; font-size: 13px; line-height: 1.2; position: relative; color: rgb(166, 170, 190) !important; }
  .site-footer ul li.ot-sdk-show-settings::after { content: ""; width: 1px; height: auto; position: absolute; right: -1px; top: 1px; bottom: 0px; background-color: rgb(166, 170, 190); }
}
@media (hover: hover) {
  .site-footer ul li.ot-sdk-show-settings:hover { text-decoration: underline 1px; text-underline-offset: 4px; }
}
.site-footer ul li a { display: inline-block; position: relative; padding: 5px 0px 7px 15px; font-size: 15px; color: rgb(255, 255, 255) !important; }
@media (hover: hover) {
  .site-footer ul li a:hover { text-decoration: underline 1px; text-underline-offset: 4px; }
}
.site-footer ul li a::before { content: ""; width: 12px; height: 12px; position: absolute; left: 0px; top: 10px; background-size: contain; background-repeat: no-repeat; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%2214%22%20viewBox%3D%220%200%208%2014%22%20fill%3D%22none%22%3E%0A%3Cpath%20d%3D%22M-0.000113279%2012.0001L5.46961%206.53041L-0.000113279%201.06069L1.06055%203.18062e-05L7.59093%206.53041L1.06055%2013.0608L-0.000113279%2012.0001Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E"); }
.site-footer .social-links { padding-top: 20px; }
@media only screen and (max-width: 991px) {
  .site-footer .social-links { text-align: center; }
}
.site-footer .social-links a { max-width: 34px; display: inline-block; margin-right: 12px; }
@media only screen and (max-width: 991px) {
  .site-footer .social-links a { margin: 0px 6px; }
}
@media (hover: hover) {
  .site-footer .social-links a:hover svg { transform: scale(1.09); }
}
.site-footer .social-links a svg { width: 100%; transition: transform 0.35s; }
.site-footer .widgets { padding-bottom: 20px; margin-bottom: 56px; border-bottom: 1px solid rgb(0, 60, 180); }
@media only screen and (min-width: 992px) {
  .site-footer .widgets { margin-bottom: 0px; padding-bottom: 58px; }
}
@media only screen and (min-width: 1366px) {
  .site-footer .widgets { padding: 0px 40px 40px; }
}
@media only screen and (max-width: 991px) {
  .site-footer .widget { margin: 0px auto; width: 91% !important; max-width: 364px !important; }
}
.site-footer .widget-1 { width: 240px !important; }
@media only screen and (min-width: 992px) {
  .site-footer .widget-1 { width: 30%; }
}
.site-footer .widget-2 { width: 15%; }
@media only screen and (max-width: 991px) {
  .site-footer .widget-2 { max-width: 104px !important; margin-left: auto !important; }
}
@media only screen and (max-width: 479px) {
  .site-footer .widget-2 { max-width: 360px !important; }
}
@media only screen and (min-width: 1200px) {
  .site-footer .widget-2 { width: 13%; }
}
.site-footer .widget-3 { width: 15%; }
@media only screen and (max-width: 991px) {
  .site-footer .widget-3 { width: 100% !important; }
  .site-footer .widget-3 ul { display: flex; justify-content: center; align-items: center; }
  .site-footer .widget-3 ul li a { padding: 0px 7px; margin-right: 7px; font-size: 13px; line-height: 1.2; position: relative; color: rgb(166, 170, 190) !important; }
  .site-footer .widget-3 ul li a::after { content: ""; width: 1px; height: auto; position: absolute; right: -1px; top: 1px; bottom: 0px; background-color: rgb(166, 170, 190); }
  .site-footer .widget-3 ul li:last-child a { margin-right: 0px; padding-right: 0px; }
  .site-footer .widget-3 ul li:last-child a::after { content: none; }
}
@media only screen and (min-width: 1200px) {
  .site-footer .widget-3 { width: 13%; }
}
.site-footer .widget-3 .menu li a { padding-left: 0px; }
.site-footer .widget-3 .menu li a::before { content: none; }
.site-footer .widget-4 { width: 17%; }
@media only screen and (max-width: 991px) {
  .site-footer .widget-4 { position: relative; margin-bottom: 24px; padding-bottom: 60px; text-align: center; }
  .site-footer .widget-4::after { content: ""; width: 94vw; height: 1px; position: absolute; top: 100%; left: 50%; transform: translate(-50%); background-color: rgb(0, 60, 180); }
}
@media only screen and (max-width: 991px) and (max-width: 575px) {
  .site-footer .widget-4::after { width: calc(-40px + 100vw); }
}
.site-footer .widget-4 * { font-family: Aleo, sans-serif; }
.site-footer .vertical-line { width: 1px; height: auto; background-color: rgb(0, 60, 180); }
.site-footer .copyright { padding-top: 32px; color: rgb(166, 170, 190); font-size: 13px; }
@media only screen and (max-width: 991px) {
  .site-footer .copyright { padding: 42px 0px 12px; text-align: center; }
}
#onetrust-consent-sdk #onetrust-banner-sdk { outline: none; }
.ot-sdk-container #onetrust-policy-text { font-size: 15px !important; }:root { --swiper-theme-color: #007aff; }
:root { --swiper-navigation-size: 44px; }
@keyframes swiper-preloader-spin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.cards-carousel { background-color: rgb(255, 255, 255); }
@media only screen and (min-width: 992px) {
  .cards-carousel { background-color: transparent; margin-top: clamp(-140px, 33.08px - 12.02vw, -90px); padding: 10px 0px; }
}
.cards-carousel::before { content: ""; position: absolute; inset: clamp(90px, -33.08px + 12.02vw, 140px) 0px 0px; background-color: rgb(237, 242, 250); z-index: -1; }
.cards-carousel .left-col { padding-top: clamp(40px, -13.14px + 5.36vw, 64px); padding-bottom: clamp(40px, 20px + 4.17vw, 80px); z-index: 2; }
@media only screen and (min-width: 992px) {
  .cards-carousel .left-col { width: 47%; max-width: 560px; padding-right: clamp(40px, -13.14px + 5.36vw, 64px); }
}
.cards-carousel .left-col::before { position: absolute; inset: 0px 0px 0px -50vw; background-color: rgb(255, 255, 255); border-top-right-radius: 16px; border-bottom-right-radius: 16px; box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 6px -1px; z-index: -1; }
@media only screen and (min-width: 992px) {
  .cards-carousel .left-col::before { content: ""; }
}
.cards-carousel .left-col .arrow { width: 46px; height: 46px; margin-right: 14px; padding: 0px; background: transparent; border: 0px; cursor: pointer; }
.cards-carousel .left-col .arrow svg { width: 100%; height: 100%; }
.cards-carousel .left-col .arrow svg rect, .cards-carousel .left-col .arrow svg path { transition: 0.4s; }
@media only screen and (max-width: 991px) {
  .cards-carousel .left-col .arrow svg * { stroke-width: 2px; }
}
@media (hover: hover) {
  .cards-carousel .left-col .arrow:hover svg rect, .cards-carousel .left-col .arrow:hover svg path { stroke: rgb(0, 60, 180); }
}
.cards-carousel .swiper { padding-bottom: 30px; }
@media only screen and (min-width: 992px) {
  .cards-carousel .swiper { width: 100%; margin-right: -47%; padding-left: 24px; padding-bottom: 0px; position: absolute; right: 0px; top: 51%; transform: translateY(-50%); }
}
@media only screen and (min-width: 1200px) {
  .cards-carousel .swiper { width: 88%; margin-right: -34.6%; }
}
@media only screen and (min-width: 1300px) {
  .cards-carousel .swiper { margin-right: -34%; }
}
@media only screen and (min-width: 1366px) {
  .cards-carousel .swiper { margin-right: -33.2%; }
}
@media only screen and (min-width: 1440px) {
  .cards-carousel .swiper { margin-right: -33.6%; }
}
@media only screen and (min-width: 1920px) {
  .cards-carousel .swiper { margin-right: -34.6%; }
}
@media only screen and (min-width: 2560px) {
  .cards-carousel .swiper { margin-right: -35.5%; }
}
.cards-carousel .swiper-slide { height: auto; border-radius: 16px; }
.cards-carousel .item .image { margin-bottom: 25px; }
.cards-carousel .item .image img { height: 220px; border-top-left-radius: 16px; border-top-right-radius: 16px; }
.cards-carousel .item-category { font-size: 12px; letter-spacing: 2px; font-weight: 600; text-decoration: none; }
.cards-carousel .item-title { font-size: 22px; font-weight: 500; line-height: 1.25; color: rgb(0, 32, 108); }
@media only screen and (min-width: 992px) {
}:root { --swiper-theme-color: #007aff; }
:root { --swiper-navigation-size: 44px; }
@keyframes swiper-preloader-spin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.content-multi { padding-top: clamp(50px, 29.41px + 4.9vw, 100px); padding-bottom: clamp(40px, 23.53px + 3.92vw, 80px); background-color: rgb(235, 242, 255); }
.content-multi .items { box-sizing: border-box; }
.content-multi .item { margin: 0px; }
@media only screen and (min-width: 992px) {
  .content-multi .item .col-left { width: 46%; }
}
.content-multi .item .col-left a { padding-right: 18px; font-size: 15px; font-weight: 600; color: rgb(0, 60, 180); text-transform: uppercase; background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEwIDE2IiBmaWxsPSJub25lIj48cGF0aCBkPSJNMC43MTQwODEgMTQuNjA2NEw3LjgwNjcyIDcuNjUzMjdMMC43MTQwODEgMC43MDAxIiBzdHJva2U9IiMwMDNDQjQiIHN0cm9rZS13aWR0aD0iMiIvPjwvc3ZnPg=="); background-size: 9px 14px; background-repeat: no-repeat; background-position: right 3px; }
@media (hover: hover) {
  .content-multi .item .col-left a:hover { padding-right: 22px; }
}
@media only screen and (min-width: 992px) {
}
@media only screen and (min-width: 992px) {
  .content-multi .item .col-right { width: 54%; padding-left: clamp(40px, -106.14px + 14.73vw, 106px); }
}
.content-multi .item .col-right img { width: 100%; height: clamp(242px, 180.56px + 16.38vw, 600px); aspect-ratio: 16 / 9; }
.content-multi .navigation { position: static; z-index: 2; }
@media only screen and (max-width: 991px) {
  .content-multi .navigation { justify-content: center; padding-top: 20px; }
}
@media only screen and (min-width: 992px) {
}
@media (hover: hover) {
}:root { --swiper-theme-color: #007aff; }
.swiper { margin-left: auto; margin-right: auto; position: relative; overflow: hidden; list-style: none; padding: 0px; z-index: 1; }
.swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: flex; transition-property: transform; box-sizing: content-box; }
.swiper-wrapper { transform: translateZ(0px); }
.swiper-slide { flex-shrink: 0; width: 100%; height: 100%; position: relative; transition-property: transform; }
.swiper-backface-hidden .swiper-slide { transform: translateZ(0px); backface-visibility: hidden; }
:root { --swiper-navigation-size: 44px; }
@keyframes swiper-preloader-spin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.tabs { padding-top: clamp(50px, 37.65px + 2.94vw, 80px); }
@media only screen and (min-width: 992px) {
  .tabs { padding-bottom: clamp(60px, 44.35px + 3.73vw, 98px); }
}
.tabs .heading { color: rgb(0, 32, 108); margin: 0px 0px 50px; padding: 20px; }
@media only screen and (min-width: 992px) {
  .tabs .heading { padding: 1% 4%; }
}
.tabs .heading h2 { font-size: clamp(34px, 28.24px + 1.37vw, 48px); }
.tabs .heading .desc { font-size: clamp(18px, 17.12px + 0.2vw, 20px); max-width: 650px; font-weight: 300; }
@media only screen and (min-width: 1200px) {
  .tabs .heading .desc { max-width: 750px; }
}
.tabs .heading .arrows { width: 100%; top: 0px; left: 0px; }
@media only screen and (max-width: 991px) {
  .tabs .heading .arrows svg { width: 20px; height: 20px; }
}
.tabs .heading .arrows.bottom { top: auto; bottom: 0px; }
.tabs > .wrap { background-color: rgb(0, 60, 180); }
@media only screen and (max-width: 991px) {
  .tabs > .wrap { width: 100%; padding: 0px; }
}
.tabs .navigation { padding: 10px clamp(20px, -78.46px + 9.62vw, 60px); }
@media only screen and (max-width: 991px) {
  .tabs .navigation { padding: 5px 0px 0px; text-align: center; }
}
.tabs .navigation li { list-style: none; padding: 0px; }
.tabs .navigation li::before { content: none; }
@media only screen and (max-width: 991px) {
  .tabs .navigation li:not(:last-child)::after { content: ""; height: 2px; position: absolute; inset: 100% -50vw auto; background-color: rgb(198, 218, 255); }
}
.tabs .navigation li .button { width: 100%; padding: 16px 0px; font-size: 23px; background: transparent; border: 0px; cursor: pointer; }
@media only screen and (min-width: 992px) {
  .tabs .navigation li .button { width: initial; padding: 36px clamp(5px, -7.31px + 1.2vw, 10px); font-size: clamp(18px, 3.23px + 1.44vw, 24px); }
}
@media only screen and (max-width: 991px) {
  .tabs .navigation li .button { display: flex; justify-content: space-between; align-items: center; padding-left: clamp(20px, 0.92px + 5.09vw, 40px); padding-right: clamp(20px, 0.92px + 5.09vw, 40px); text-align: left; }
  .tabs .navigation li .button span { width: calc(100% - 30px); line-height: 1.5; }
  .tabs .navigation li .button svg path { transform: rotateX(0deg); transform-origin: center center; transition: 0.4s; }
}
@media (hover: hover) {
  .tabs .navigation li .button:hover { text-decoration-line: underline; text-decoration-style: solid; text-decoration-skip-ink: auto; text-decoration-thickness: 13.5%; text-underline-offset: 25%; text-underline-position: from-font; }
}
.tabs .navigation li .button.active { text-decoration-line: underline; text-decoration-style: solid; text-decoration-skip-ink: auto; text-decoration-thickness: 13.5%; text-underline-offset: 25%; text-underline-position: from-font; }
@media only screen and (min-width: 992px) {
  .tabs .navigation li .button.active { font-weight: 700; }
}
@media only screen and (max-width: 991px) {
  .tabs .navigation li .button.active svg path { transform: rotateX(180deg); }
}
@media only screen and (max-width: 991px) {
  .tabs .swiper { overflow: visible; }
}
.tabs .item { height: auto; }
.tabs .item .col-left { overflow: hidden; }
@media only screen and (max-width: 575px) {
  .tabs .item .col-left { margin: 0px -20px; }
}
@media only screen and (min-width: 992px) {
  .tabs .item .col-left { width: 43%; border-top-right-radius: 65px; }
}
.tabs .item .col-left picture { height: clamp(320px, 237.65px + 19.61vw, 520px); overflow: hidden; }
.tabs .item .col-left img { width: 100%; height: clamp(320px, 237.65px + 19.61vw, 520px); object-fit: cover; overflow: hidden; }
.tabs .item .col-right { padding: 25px 0px; }
@media only screen and (max-width: 991px) {
  .tabs .item .col-right { padding-left: clamp(20px, 0.92px + 5.09vw, 40px); padding-right: clamp(20px, 0.92px + 5.09vw, 40px); }
}
@media only screen and (min-width: 992px) {
  .tabs .item .col-right { width: 45%; padding: 0px 0px 0px clamp(40px, -33.85px + 7.21vw, 70px); }
}
.tabs .item .col-right * { color: rgb(255, 255, 255); }
.tabs .item .col-right .item-title { font-size: clamp(34px, -0.46px + 3.37vw, 48px); }
.tabs .item .col-right .item-text p { font-size: clamp(14px, 11.36px + 0.6vw, 20px); font-weight: 300; }
.tabs .item .col-right .item-text a { display: inline-flex; position: relative; font-size: 15px; font-weight: 600; text-transform: uppercase; }
.tabs .item .col-right .item-text a::after { content: ""; display: block; width: 8px; height: 14px; position: absolute; right: -14px; top: 4.5px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' fill='none'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.701' d='m.85 12.76 5.956-5.954L.85.85'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: contain; transition: 0.45s; }
@media (hover: hover) {
  .tabs .item .col-right .item-text a:hover::after { right: -20px; }
}@media only screen and (max-width: 767px) {
  .focus-cards .is-2 { padding: 0px; }
  .focus-cards .is-2 .item { border-radius: 0px; border-left: 0px; border-right: 0px; }
}
.focus-cards .heading { margin-bottom: clamp(30px, 19.29px + 2.55vw, 56px); }
.focus-cards .heading.home-style { max-width: 100%; padding: 20px; }
@media only screen and (min-width: 992px) {
  .focus-cards .heading.home-style { padding: 2.5% 4%; }
}
.focus-cards .heading.home-style h2 { margin-right: auto; font-size: clamp(34px, 28.24px + 1.37vw, 48px); }
.focus-cards .heading.home-style .description { max-width: 790px; font-size: clamp(14px, 11.53px + 0.59vw, 20px); }
.focus-cards .heading.home-style .arrows { width: 100%; top: 0px; left: 0px; }
@media only screen and (max-width: 991px) {
  .focus-cards .heading.home-style .arrows svg { width: 20px; height: 20px; }
}
.focus-cards .heading.home-style .arrows.bottom { top: auto; bottom: 0px; }
.focus-cards .item { border: 1px solid rgb(198, 218, 255); border-radius: 16px; }
@media only screen and (max-width: 767px) {
  .focus-cards .item:first-of-type { border-top: 0px; }
}
.focus-cards .item .left { padding: clamp(24px, 0.51px + 5.59vw, 90px) clamp(24px, 9.76px + 3.39vw, 64px); }
@media only screen and (max-width: 991px) {
  .focus-cards .item .left { padding-top: 0px; margin-top: 0px; }
}
@media only screen and (min-width: 992px) {
  .focus-cards .item .left { width: 50%; align-content: center; }
}
@media only screen and (max-width: 991px) {
}
@media only screen and (max-width: 991px) {
  .focus-cards .item .i-title { display: flex; justify-content: space-between; }
  .focus-cards .item .i-title span { width: calc(100% - 30px); }
  .focus-cards .item .i-title svg path { transform: rotateX(0deg); transform-origin: center center; transition: 0.4s; }
}
@media only screen and (max-width: 991px) {
  .focus-cards .item .text { display: none; }
}
.focus-cards .item .cta { color: rgb(0, 60, 180); }
@media (hover: hover) {
  .focus-cards .item .cta:hover svg { transform: translate(5px); }
}
.focus-cards .item .cta span { width: calc(100% - 15px); white-space: nowrap; }
.focus-cards .item .cta svg { width: 20px; height: 20px; transition: 0.4s; }
@media only screen and (min-width: 992px) {
  .focus-cards .item .right { width: 50%; }
}
.focus-cards .item .right:is(a) { overflow: hidden; }
.focus-cards .item .right:is(a) img { transition: 1s; }
.focus-cards .item .right:is(a):focus-visible { outline: unset; border-radius: unset; }
@media (hover: hover) {
  .focus-cards .item .right:is(a):hover img { transform: scale(1.03); }
}.text-and-media { padding-top: clamp(50px, 39.29px + 2.55vw, 76px); padding-bottom: clamp(50px, 39.29px + 2.55vw, 76px); }
.text-and-media .arrows { width: 100%; top: 0px; left: 0px; }
@media only screen and (max-width: 767px) {
  .text-and-media .arrows { width: calc(100% - 40px); left: 20px; right: 20px; }
}
@media only screen and (max-width: 991px) {
  .text-and-media .arrows svg { width: 20px; height: 20px; }
}
.text-and-media .arrows.bottom { top: auto; bottom: 0px; }
@media only screen and (min-width: 992px) {
  .text-and-media .inner { padding: 70px 45px; }
}
.text-and-media .left-col { padding: 20px; }
@media only screen and (min-width: 992px) {
  .text-and-media .left-col { width: 50%; padding: 0px 3% 0px 0px; }
}
.text-and-media .left-col .cta { width: fit-content; }
@media only screen and (max-width: 991px) {
  .text-and-media .left-col .cta { margin: 0px auto; }
}
@media only screen and (min-width: 992px) {
  .text-and-media .right-col { width: 50%; padding: 10px 0px 10px 3%; }
}
@media only screen and (max-width: 991px) {
}
@media only screen and (min-width: 992px) {
}
@media only screen and (max-width: 991px) {
}
@media only screen and (max-width: 991px) {
}
@media (hover: hover) {
}
@media only screen and (max-width: 991px) {
  .text-and-media.fw-mobile { padding-bottom: 0px; }
  .text-and-media.fw-mobile .arrows { display: none !important; }
}
@media only screen and (max-width: 991px) {
  .text-and-media.fw-mobile .right-col { margin: 0px -20px; }
}
@media only screen and (max-width: 991px) {
}
@media only screen and (min-width: 992px) {
}
@media only screen and (min-width: 992px) {
}
@media only screen and (min-width: 992px) {
}
@media only screen and (max-width: 991px) {
}.cares { padding-top: clamp(50px, -38.57px + 8.93vw, 90px); padding-bottom: clamp(50px, -38.57px + 8.93vw, 90px); }
@media only screen and (max-width: 991px) {
  .cares { padding-bottom: 0px; }
}
@media only screen and (min-width: 992px) {
  .cares { background-color: rgb(235, 242, 255); }
}
@media only screen and (min-width: 992px) {
  .cares .inner { padding-left: clamp(30px, -80.71px + 11.16vw, 80px); background-color: rgb(255, 255, 255); border-radius: 16px; }
}
@media only screen and (min-width: 992px) {
  .cares .left { width: 31%; padding-top: clamp(20px, -59.71px + 8.04vw, 56px); }
}
@media only screen and (max-width: 991px) {
  .cares .left picture { max-width: 372px; margin-left: auto; margin-right: auto; }
}
@media only screen and (max-width: 991px) {
  .cares .left .desc { max-width: 500px; margin-left: auto; margin-right: auto; }
}
@media only screen and (max-width: 991px) {
  .cares .left .cta { display: flex; width: fit-content; margin: 0px auto 40px; }
}
@media only screen and (min-width: 992px) {
  .cares .right { width: 59.8%; }
}
.cares .right picture { margin-right: -25px; }
@media only screen and (min-width: 992px) {
  .cares .right picture { margin: -6% 0px 0px -3%; }
}
.cares .right img { object-position: center bottom; }
@media only screen and (min-width: 992px) {
  .cares .right img { border-bottom-right-radius: 16px; }
}#onetrust-banner-sdk:focus { outline: rgb(0, 0, 0) solid 2px; outline-offset: -2px; }
#onetrust-banner-sdk a:focus { outline: rgb(0, 0, 0) solid 2px; }
#onetrust-banner-sdk #onetrust-accept-btn-handler, #onetrust-banner-sdk #onetrust-reject-all-handler, #onetrust-banner-sdk #onetrust-pc-btn-handler { outline-offset: 1px; }
#onetrust-banner-sdk .ot-close-icon { background-repeat: no-repeat; background-position: center center; }
@keyframes onetrust-fade-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@media only screen and (min-width: 426px) and (max-width: 896px) and (orientation: landscape) {
}
@media only screen and (max-width: 600px) {
}
#onetrust-banner-sdk *, #onetrust-banner-sdk ::after, #onetrust-banner-sdk ::before { box-sizing: content-box; }
#onetrust-banner-sdk div, #onetrust-banner-sdk button, #onetrust-banner-sdk a { font-family: inherit; font-weight: normal; -webkit-font-smoothing: auto; letter-spacing: normal; line-height: normal; padding: 0px; margin: 0px; height: auto; min-height: 0px; max-height: none; width: auto; min-width: 0px; max-width: none; border-radius: 0px; border: none; clear: none; float: none; position: static; inset: auto; text-align: left; text-decoration: none; text-indent: 0px; text-shadow: none; text-transform: none; white-space: normal; background: none; overflow: visible; vertical-align: baseline; visibility: visible; z-index: auto; box-shadow: none; }
#onetrust-banner-sdk .ot-sdk-container { position: relative; width: 100%; max-width: 100%; margin: 0px auto; padding: 0px 20px; box-sizing: border-box; }
#onetrust-banner-sdk .ot-sdk-columns { width: 100%; float: left; box-sizing: border-box; padding: 0px; display: initial; }
@media (min-width: 400px) {
  #onetrust-banner-sdk .ot-sdk-container { width: 90%; padding: 0px; }
}
@media (min-width: 550px) {
  #onetrust-banner-sdk .ot-sdk-container { width: 100%; }
  #onetrust-banner-sdk .ot-sdk-columns { margin-left: 4%; }
  #onetrust-banner-sdk .ot-sdk-column:first-child, #onetrust-banner-sdk .ot-sdk-columns:first-child, #onetrust-pc-sdk .ot-sdk-column:first-child, #onetrust-pc-sdk .ot-sdk-columns:first-child, #ot-sdk-cookie-policy .ot-sdk-column:first-child, #ot-sdk-cookie-policy .ot-sdk-columns:first-child { margin-left: 0px; }
  #onetrust-banner-sdk .ot-sdk-three.ot-sdk-columns { width: 22%; }
  #onetrust-banner-sdk .ot-sdk-eight.ot-sdk-columns { width: 65.3333%; }
}
@media (min-width: 550px) {
}
#onetrust-banner-sdk a { text-decoration: none; }
#onetrust-banner-sdk a:hover, #onetrust-pc-sdk a:hover, #ot-sdk-cookie-policy a:hover { color: rgb(86, 86, 86); text-decoration: underline; }
#onetrust-banner-sdk button { display: inline-block; color: rgb(85, 85, 85); text-align: center; font-size: 0.9em; font-weight: 400; line-height: 38px; letter-spacing: 0.01em; text-decoration: none; white-space: nowrap; background-color: rgba(0, 0, 0, 0); border-radius: 2px; border: 1px solid rgb(187, 187, 187); cursor: pointer; box-sizing: border-box; }
#onetrust-banner-sdk .ot-sdk-button:hover, #onetrust-banner-sdk :not(.ot-leg-btn-container):not(.ot-confirm-dialog-buttons) > button:not(.ot-link-btn):hover, #onetrust-banner-sdk :not(.ot-leg-btn-container):not(.ot-confirm-dialog-buttons) > button:not(.ot-link-btn):focus, #onetrust-pc-sdk .ot-sdk-button:hover, #onetrust-pc-sdk :not(.ot-leg-btn-container):not(.ot-confirm-dialog-buttons) > button:not(.ot-link-btn):hover, #onetrust-pc-sdk :not(.ot-leg-btn-container):not(.ot-confirm-dialog-buttons) > button:not(.ot-link-btn):focus, #ot-sdk-cookie-policy .ot-sdk-button:hover, #ot-sdk-cookie-policy :not(.ot-leg-btn-container):not(.ot-confirm-dialog-buttons) > button:not(.ot-link-btn):hover, #ot-sdk-cookie-policy :not(.ot-leg-btn-container):not(.ot-confirm-dialog-buttons) > button:not(.ot-link-btn):focus { color: rgb(51, 51, 51); border-color: rgb(136, 136, 136); opacity: 0.9; }
#onetrust-banner-sdk .ot-sdk-button:focus, #onetrust-banner-sdk :not(.ot-leg-btn-container) > button:focus, #onetrust-pc-sdk .ot-sdk-button:focus, #onetrust-pc-sdk :not(.ot-leg-btn-container) > button:focus, #ot-sdk-cookie-policy .ot-sdk-button:focus, #ot-sdk-cookie-policy :not(.ot-leg-btn-container) > button:focus { outline: rgb(0, 0, 0) solid 2px; }
#onetrust-banner-sdk button { margin-bottom: 1rem; font-family: inherit; }
#onetrust-banner-sdk .ot-sdk-container::after, #onetrust-banner-sdk .ot-sdk-row::after, #onetrust-pc-sdk .ot-sdk-container::after, #onetrust-pc-sdk .ot-sdk-row::after, #ot-sdk-cookie-policy .ot-sdk-container::after, #ot-sdk-cookie-policy .ot-sdk-row::after { content: ""; display: table; clear: both; }
#onetrust-banner-sdk .ot-sdk-row { margin: 0px; max-width: none; display: block; }
@media (max-width: 500px) {
}
@keyframes ot-go-spin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
#onetrust-banner-sdk { box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 18px; }
#onetrust-banner-sdk.otFlat { position: fixed; z-index: 2147483645; right: 0px; left: 0px; max-height: 90%; overflow: hidden auto; }
#onetrust-banner-sdk.otRelFont { font-size: 1rem; }
#onetrust-banner-sdk::-webkit-scrollbar { width: 11px; }
#onetrust-banner-sdk::-webkit-scrollbar-thumb { border-radius: 10px; background: rgb(193, 193, 193); }
#onetrust-banner-sdk #onetrust-policy { margin: 1.25em 0px 0.625em 2em; overflow: hidden; }
#onetrust-banner-sdk #onetrust-group-container { position: relative; }
#onetrust-banner-sdk #onetrust-policy-text { clear: both; text-align: left; }
#onetrust-banner-sdk #onetrust-policy-text * { font-size: inherit; line-height: inherit; }
#onetrust-banner-sdk #onetrust-policy-text a { font-weight: bold; }
#onetrust-banner-sdk #onetrust-policy-text { float: left; }
#onetrust-banner-sdk #onetrust-button-group-parent { min-height: 1px; text-align: center; }
#onetrust-banner-sdk #onetrust-button-group { display: inline-block; }
#onetrust-banner-sdk #onetrust-accept-btn-handler, #onetrust-banner-sdk #onetrust-reject-all-handler, #onetrust-banner-sdk #onetrust-pc-btn-handler { margin-right: 1em; min-width: 125px; height: auto; white-space: normal; word-break: break-word; overflow-wrap: break-word; padding: 12px 10px; line-height: 1.2; font-size: 0.813em; font-weight: 600; }
#onetrust-banner-sdk .onetrust-close-btn-ui { width: 44px; height: 44px; background-size: 12px; border: none; position: relative; margin: auto; padding: 0px; }
#onetrust-banner-sdk #onetrust-policy-text { font-size: 0.813em; line-height: 1.5; }
@media only screen and (max-width: 425px) {
  #onetrust-banner-sdk #onetrust-close-btn-container { position: absolute; top: 6px; right: 2px; }
  #onetrust-banner-sdk #onetrust-policy { margin-left: 0px; margin-top: 3em; }
  #onetrust-banner-sdk #onetrust-button-group { display: block; }
  #onetrust-banner-sdk #onetrust-accept-btn-handler, #onetrust-banner-sdk #onetrust-reject-all-handler, #onetrust-banner-sdk #onetrust-pc-btn-handler { width: 100%; }
  #onetrust-banner-sdk .onetrust-close-btn-ui { top: auto; transform: none; }
}
@media only screen and (max-width: 550px) {
}
@media only screen and (min-width: 426px) and (max-width: 896px) {
  #onetrust-banner-sdk #onetrust-close-btn-container { position: absolute; top: 0px; right: 0px; }
  #onetrust-banner-sdk #onetrust-policy { margin-left: 1em; margin-right: 1em; }
  #onetrust-banner-sdk .onetrust-close-btn-ui { top: 10px; right: 10px; }
  #onetrust-banner-sdk:not(.ot-iab-2) #onetrust-group-container { width: 95%; }
  #onetrust-banner-sdk #onetrust-button-group-parent { width: 100%; position: relative; margin-left: 0px; }
  #onetrust-banner-sdk #onetrust-button-group button { display: inline-block; }
  #onetrust-banner-sdk #onetrust-button-group { text-align: center; }
  #onetrust-banner-sdk .has-reject-all-button #onetrust-pc-btn-handler { float: left; }
  #onetrust-banner-sdk .has-reject-all-button #onetrust-reject-all-handler, #onetrust-banner-sdk .has-reject-all-button #onetrust-accept-btn-handler { float: right; }
  #onetrust-banner-sdk .has-reject-all-button #onetrust-button-group { width: calc(100% - 2em); margin-right: 0px; }
}
@media only screen and (min-width: 550px) {
}
@media only screen and (min-width: 425px) and (max-width: 550px) {
}
@media only screen and (min-width: 769px) {
  #onetrust-banner-sdk #onetrust-button-group { margin-right: 30%; }
}
@media only screen and (min-width: 897px) and (max-width: 1023px) {
  #onetrust-banner-sdk.vertical-align-content #onetrust-button-group-parent { position: absolute; top: 50%; left: 80%; transform: translateY(-50%); }
  #onetrust-banner-sdk #onetrust-close-btn-container { top: 50%; margin: auto; transform: translate(-50%, -50%); position: absolute; padding: 0px; right: 0px; }
  #onetrust-banner-sdk #onetrust-close-btn-container button { position: relative; margin: 0px; right: -22px; top: 2px; }
}
@media only screen and (min-width: 1024px) {
  #onetrust-banner-sdk #onetrust-close-btn-container { top: 50%; margin: auto; transform: translate(-50%, -50%); position: absolute; right: 0px; }
  #onetrust-banner-sdk #onetrust-close-btn-container button { right: -12px; }
  #onetrust-banner-sdk #onetrust-policy { margin-left: 2em; }
  #onetrust-banner-sdk.vertical-align-content #onetrust-button-group-parent { position: absolute; top: 50%; left: 60%; transform: translateY(-50%); }
  #onetrust-banner-sdk:not(.ot-iab-2) #onetrust-button-group-parent { margin: auto; width: 30%; }
  #onetrust-banner-sdk:not(.ot-iab-2) #onetrust-group-container { width: 60%; }
  #onetrust-banner-sdk #onetrust-button-group { margin-right: auto; }
  #onetrust-banner-sdk #onetrust-accept-btn-handler, #onetrust-banner-sdk #onetrust-reject-all-handler, #onetrust-banner-sdk #onetrust-pc-btn-handler { margin-top: 1em; }
}
@media only screen and (min-width: 890px) {
}
@media only screen and (min-width: 1280px) {
  #onetrust-banner-sdk:not(.ot-iab-2) #onetrust-group-container { width: 55%; }
  #onetrust-banner-sdk:not(.ot-iab-2) #onetrust-button-group-parent { width: 44%; padding-left: 2%; padding-right: 2%; }
  #onetrust-banner-sdk:not(.ot-iab-2).vertical-align-content #onetrust-button-group-parent { position: absolute; left: 55%; }
}
#onetrust-consent-sdk #onetrust-banner-sdk { background-color: rgb(255, 255, 255); }
#onetrust-consent-sdk #onetrust-policy-text, #onetrust-consent-sdk #onetrust-policy-text :not(.onetrust-vendors-list-handler) { color: rgb(51, 51, 51); }
#onetrust-consent-sdk #onetrust-banner-sdk a[href] { color: rgb(0, 160, 202); }
#onetrust-consent-sdk #onetrust-accept-btn-handler, #onetrust-banner-sdk #onetrust-reject-all-handler { background-color: rgb(11, 54, 119); border-color: rgb(11, 54, 119); color: rgb(255, 255, 255); }
#onetrust-consent-sdk #onetrust-banner-sdk :focus, #onetrust-consent-sdk #onetrust-banner-sdk:focus { outline: rgb(11, 54, 119) solid 1px; }
#onetrust-consent-sdk #onetrust-pc-btn-handler { color: rgb(11, 54, 119); border-color: rgb(11, 54, 119); background-color: rgb(255, 255, 255); }
#onetrust-banner-sdk #onetrust-policy-text a.ot-cookie-policy-link { margin-left: 5px; }
@media (max-width: 500px) {
}
@keyframes ot-go-spin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes ot-slide-in-left { 
  0% { transform: translate3d(-100%, 0px, 0px); }
  100% { transform: translate3d(0px, 0px, 0px); }
}
@keyframes ot-slide-in-right { 
  0% { transform: translate3d(100%, 0px, 0px); }
  100% { transform: translate3d(0px, 0px, 0px); }
}
@keyframes ot-slide-out-left { 
  0% { transform: translate3d(0px, 0px, 0px); }
  100% { transform: translate3d(-100%, 0px, 0px); }
}
@keyframes ot-slide-out-right { 
  0% { transform: translate3d(0px, 0px, 0px); }
  100% { transform: translate3d(100%, 0px, 0px); }
}
@media print, (prefers-reduced-motion) {
}
@media (min-width: 768px) {
}
@media only screen and (max-width: 600px) {
}
@media only screen and (max-width: 425px) {
}
@media only screen and (max-width: 320px) {
}
@media only screen and (max-width: 896px) and (max-height: 425px) and (orientation: landscape) {
}
@media screen and (max-height: 450px) {
}
@media only screen and (max-width: 530px) {
}
@keyframes slide-down-custom { 
  0% { }
  100% { bottom: 0px; }
}
@-webkit-keyframes slide-down-custom { 
  0% { }
  100% { bottom: 0px; }
}.sf-hidden { display: none !important; }/* empty */
/* Aufmacher Bildwechsel (David 13.11.2026): Übergang B, Knopf P2b, Einfärbung fest in den Bildern */
.hero-wechsel { inset: 0; z-index: -2; overflow: hidden; isolation: isolate; --t: 30s; }
.hw-bilder { position: absolute; inset: 0; background: #2C4671; }
.hw-bilder img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: hw-zoom var(--t) infinite linear; }
.hw-bilder img:nth-child(2), .hw-punkte i:nth-child(2) { animation-delay: calc(var(--t) * -2 / 3); }
.hw-bilder img:nth-child(3), .hw-punkte i:nth-child(3) { animation-delay: calc(var(--t) * -1 / 3); }
@keyframes hw-zoom { 0% { opacity: 1; transform: scale(1); } 28.3% { opacity: 1; } 33.3% { opacity: 0; transform: scale(1.06); } 95% { opacity: 0; transform: scale(1); } 100% { opacity: 1; transform: scale(1); } }
.hw-steuerung { position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 3; display: flex; align-items: center; gap: 10px; --t: 30s; }
.hw-pause { background: none; border: 0; padding: 7px; line-height: 0; color: #fff; opacity: .55; cursor: pointer; border-radius: 50%; }
.hw-pause:hover, .hw-pause:focus-visible { opacity: 1; }
.hw-pause:focus-visible { outline: 2px solid #fff; outline-offset: 1px; }
.hw-pause svg { width: 10px; height: 10px; fill: currentColor; }
.hw-punkte { display: flex; gap: 8px; }
.hw-punkte i { width: 8px; height: 8px; border-radius: 50%; border: 1px solid #fff; animation: hw-punkt var(--t) infinite steps(1); }
@keyframes hw-punkt { 0% { background: #fff; } 33.3% { background: transparent; } }
.hero-wechsel.angehalten img, .hw-steuerung.angehalten .hw-punkte i { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .hw-bilder img { animation-name: hw-blende; } }
@keyframes hw-blende { 0% { opacity: 1; } 32% { opacity: 1; } 33.3% { opacity: 0; } 98.7% { opacity: 0; } 100% { opacity: 1; } }
@media only screen and (min-width: 992px) {
  /* Die Karten darunter ragen um clamp(90px, 12.02vw - 33.08px, 140px) in den Aufmacher, Steuerung darüber setzen */
  .hw-steuerung { bottom: calc(clamp(90px, 12.02vw - 33.08px, 140px) + 16px); }
}
@media only screen and (max-width: 767px) {
  /* Am Handy liegt der lange Text über hellen Bildteilen, zusätzlicher Schleier für ruhigeres Lesen (David 13.11.2026) */
  .hero-wechsel::after { content: ""; position: absolute; inset: 0; background: rgba(11, 18, 38, .3); }
}
/* Winkel im Aufmacher (David 13.11.2026) */
.hero-winkel { fill: #E3E8F1; flex: none; }
/* Etikett und Knopf im Aufmacher: Weiß gefüllt, Schrift Logo-Navy (K3, David 13.11.2026) */
body .hero .inner .small-title { background-color: #FFFFFF !important; color: #1C2B4A; }
.hero .cta.btn { background-color: #FFFFFF !important; color: #1C2B4A !important; }
@media (hover: hover) { .hero .cta.btn:hover { background-color: #E3E8F1 !important; } }
.hero .cta.btn:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 3px; }
/* Pfeilknöpfe Cases (P1, David 13.11.2026) */
@media (hover: hover) { .cards-carousel .left-col .arrow:hover svg rect { fill: #E3E8F1; } }
.cards-carousel .left-col .arrow:focus-visible { outline: 2px solid #1C2B4A; outline-offset: 2px; border-radius: 10px; }
/* Cases: Schrift in Logo-Navy (F1, David 13.11.2026) */
body .cards-carousel .small-title, body .cards-carousel .item-category { color: #1C2B4A; text-decoration-color: #1C2B4A; }
.cards-carousel .item-title { color: #1C2B4A; }
/* Cases: Kartenaufbau C (David 13.11.2026) */
.cards-carousel .item-kundenart { margin: 10px 0 0; font-size: 16px; line-height: 1.4; color: #5A6272; }
.cards-carousel .item-ergebnis { margin: 14px 0 0; padding-top: 14px; border-top: 1px solid #DCE0E7; font-size: 16px; line-height: 1.4; color: #1C2B4A; }
.cards-carousel .item-ergebnis b { font-weight: 600; }
.cards-carousel .item .item-text { padding-bottom: 24px; }
/* Karten mit Aufbau C sind höher als bei PCG: Platz schaffen, damit nichts abgeschnitten wird */
@media only screen and (min-width: 992px) { .cards-carousel { padding-bottom: 24px; } .cards-carousel > .container { min-height: 545px; } }
/* Im Export haben die Karten eine feste Breite von 396 px und laufen am Handy über den Rand */
.cards-carousel .swiper-slide { width: min(396.25px, calc(100vw - 48px)) !important; }
/* Cases: Pause-Knopf wie im Aufmacher, in Logo-Navy */
.cards-carousel .buttons { align-items: center; }
.cc-pause { background: none; border: 0; padding: 7px; margin-left: 8px; line-height: 0; color: #1C2B4A; opacity: .55; cursor: pointer; border-radius: 50%; }
.cc-pause:hover, .cc-pause:focus-visible { opacity: 1; }
.cc-pause:focus-visible { outline: 2px solid #1C2B4A; outline-offset: 1px; }
.cc-pause svg { width: 10px; height: 10px; fill: #1C2B4A; }
/* Solutions that Matter: Fläche in dunklem Navy #2C4671 (H3, David 13.11.2026) */
.section.tabs .container.wrap { background-color: #2C4671 !important; }
/* Solutions that Matter: Winkel neben der Überschrift wie das Logo, in Logo-Navy auf Weiß (David 13.11.2026) */
.section.tabs .heading .hero-winkel { fill: #1C2B4A; }
/* Weicher Wechsel zwischen den Reitern: Bild blendet ein, Text folgt leicht versetzt (David 13.11.2026) */
.section.tabs [role=tabpanel] .col-left { animation: lei-bild .7s ease both; }
.section.tabs [role=tabpanel] .col-right { animation: lei-text .7s ease .12s both; }
@keyframes lei-bild { from { opacity: 0; } to { opacity: 1; } }
@keyframes lei-text { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .section.tabs [role=tabpanel] .col-left, .section.tabs [role=tabpanel] .col-right { animation: none; } }
/* Profil David Lansky, Variante V4 (David 13.11.2026) */
.profil { padding: clamp(48px, 6vw, 96px) 0; background: #fff; }
.profil-raster { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 64px); align-items: start; }
.profil-foto { aspect-ratio: 1 / 1; overflow: hidden; }
.profil-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.profil-kicker { margin: 0 0 6px; color: #5A6272; }
.profil-name { color: #1C2B4A; font-size: clamp(34px, 3.2vw, 46px); margin-bottom: 0; }
.profil-lead { margin: 16px 0 0; color: #171B24; line-height: 1.6; }
.profil-zahlen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.profil-zahlen > div { border-top: 1.33px solid #1C2B4A; padding-top: 14px; min-width: 0; }
.profil-zahlen b { display: block; font-family: Aleo, Georgia, serif; font-weight: 400; font-size: clamp(30px, 2.8vw, 40px); line-height: 1.15; color: #1C2B4A; overflow-wrap: break-word; }
.profil-zahlen span { display: block; margin-top: 6px; color: #5A6272; font-size: 15px; line-height: 1.4; overflow-wrap: break-word; }
.profil-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 32px; }
.profil-knopf { display: inline-block; background: #1C2B4A; color: #fff !important; border-radius: 10px; padding: 12px 20px; text-decoration: none; }
@media (hover: hover) { .profil-knopf:hover { background: #24365C; } }
.profil-link { color: #1C2B4A; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
@media (max-width: 900px) { .profil-raster { grid-template-columns: minmax(0, 1fr); } .profil-foto { max-width: 480px; } }
@media (max-width: 600px) { .profil-zahlen { grid-template-columns: minmax(0, 1fr); gap: 20px; } }
/* Impressum, drei Layout-Varianten (Entwurf 14.11.2026) */
.impressum { padding-top: 96px; background: #fff; color: #1C2B4A; font-family: "Public Sans", Arial, sans-serif; font-size: 18px; line-height: 1.6; padding-bottom: clamp(48px, 6vw, 96px); overflow-wrap: break-word; }
.impressum * { box-sizing: border-box; min-width: 0; }
.impressum h1, .impressum h2 { font-family: Aleo, Georgia, serif; font-weight: 400; color: #1C2B4A; margin: 0; line-height: 1.2; }
.impressum a { color: #2C4671; text-decoration: underline; text-underline-offset: 3px; }
.impressum-wrap { width: 100%; margin: 0 auto; padding: 0 24px; }
.impressum-wrap-text { max-width: 720px; }
.impressum-titel { font-size: 56px; }
.impressum-offen { background: #E3E8F1; font-style: italic; padding: 1px 8px; border-radius: 4px; }
.impressum-c .impressum-titel { padding: 56px 0 8px; }
.impressum-stand { margin: 0 0 24px; color: #2C4671; }
.impressum-c h2 { font-size: 28px; margin: 40px 0 12px; }
.impressum-c p { margin: 0 0 12px; }
@media (max-width: 768px) {
  .impressum { font-size: 16px; padding-top: 67px; }
  .impressum-titel { font-size: 36px; }
  .impressum-c .impressum-titel { padding-top: 36px; }
  .impressum-c h2 { font-size: 24px; }
}
/* Kontaktformular, drei Layout-Varianten KF1 Seite, KF2 Abschnitt, KF3 Seitenleiste (Entwurf 14.11.2026) */
.kontakt { color: #1C2B4A; font-family: "Public Sans", Arial, sans-serif; font-size: 18px; line-height: 1.6; overflow-wrap: break-word; }
.kontakt * { box-sizing: border-box; min-width: 0; }
.kontakt h1, .kontakt h2 { font-family: Aleo, Georgia, serif; font-weight: 400; margin: 0; line-height: 1.2; }
.kontakt a { color: #2C4671; text-decoration: underline; text-underline-offset: 3px; }
.kontakt-form { display: block; position: relative; }
.kontakt-zeile { margin: 0 0 22px; }
.kontakt-label { display: block; font-weight: 600; margin: 0 0 6px; color: #1C2B4A; }
.frontend .kontakt .kontakt-feld { display: block; width: 100%; font: inherit; color: #1C2B4A; background: #fff; border: 1px solid #BCC7DB; border-radius: 10px; padding: 11px 14px; margin: 0; line-height: 1.4; }
.frontend .kontakt textarea.kontakt-feld { resize: vertical; min-height: 9em; }
.frontend .kontakt .kontakt-feld:focus { outline: none; border-color: #1C2B4A; box-shadow: 0 0 0 1px #1C2B4A; }
.frontend .kontakt .kontakt-feld-fehler { border-color: #1C2B4A; box-shadow: 0 0 0 1px #1C2B4A; background: #E3E8F1; }
.kontakt-fehler { margin: 6px 0 0; font-weight: 600; color: #1C2B4A; font-size: 16px; line-height: 1.4; }
.kontakt-haken { display: flex; gap: 12px; align-items: flex-start; }
.frontend .kontakt .kontakt-haken input { flex: 0 0 22px; width: 22px; height: 22px; margin: 3px 0 0; accent-color: #1C2B4A; }
.frontend .kontakt .kontakt-haken input:focus-visible { outline: 2px solid #1C2B4A; outline-offset: 2px; }
.kontakt-haken label { font-size: 16px; line-height: 1.5; }
.frontend .kontakt .kontakt-knopf { display: inline-block; font: inherit; cursor: pointer; background: #1C2B4A; color: #fff; border: 0; border-radius: 10px; padding: 12px 22px; margin-top: 4px; }
@media (hover: hover) { .frontend .kontakt .kontakt-knopf:hover { background: #2C4671; } }
.frontend .kontakt .kontakt-knopf:focus-visible, .frontend .kontakt .kontakt-zu:focus-visible { outline: 2px solid #1C2B4A; outline-offset: 3px; }
.kontakt a:focus-visible { outline: 2px solid #1C2B4A; outline-offset: 2px; border-radius: 2px; }
.kontakt-fang { position: absolute; left: 0; top: 0; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); opacity: 0; pointer-events: none; }
.kontakt-danke { padding: 20px 22px; background: #E3E8F1; border: 1px solid #BCC7DB; border-radius: 10px; }
.kontakt-danke p { margin: 0; }
.kontakt-danke:focus { outline: 2px solid #1C2B4A; outline-offset: 2px; }
/* KF2 */
/* KF3 */
.kontakt-ueberlagerung { position: fixed; inset: 0; z-index: 100; background: rgba(11, 18, 38, 0.5); display: flex; justify-content: flex-end; }
.kontakt-leiste { width: 480px; max-width: 100%; height: 100%; overflow-y: auto; background: #fff; padding: 28px 32px 40px; animation: kontakt-ein .3s ease both; }
.kontakt-leiste-kopf { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 8px; }
.kontakt-leiste-kopf h2 { font-size: 36px; color: #1C2B4A; }
.frontend .kontakt .kontakt-zu { font: inherit; background: none; border: 1px solid #BCC7DB; border-radius: 10px; color: #1C2B4A; padding: 8px 16px; cursor: pointer; }
@media (hover: hover) { .frontend .kontakt .kontakt-zu:hover { background: #E3E8F1; } }
.kontakt-leiste-text { margin: 0 0 28px; }
@keyframes kontakt-ein { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .kontakt-leiste { animation: none; } }
@media (max-width: 768px) {
  .kontakt { font-size: 16px; }
  .kontakt-leiste { width: 100%; padding: 20px 20px 32px; }
  .kontakt-leiste-kopf h2 { font-size: 30px; }
  .kontakt-haken label { font-size: 15px; }
}
.kontakt-hinweis { font-size: 15px; line-height: 1.5; margin: 14px 0 0; color: #2C4671; }
/* Karriere (David 14.11.2026) */
.karriere { padding: clamp(48px, 6vw, 96px) 0; background: #E3E8F1; scroll-margin-top: 96px; }
.karriere:focus { outline: none; }
.karriere-inhalt { max-width: 720px; margin: 0 auto; text-align: center; color: #1C2B4A; font-family: "Public Sans", Arial, sans-serif; }
.karriere-titel { font-family: Aleo, Georgia, serif; font-weight: 400; font-size: 40px; line-height: 1.2; color: #1C2B4A; margin: 0 0 16px; }
.karriere-text { font-size: 20px; line-height: 1.6; margin: 0 0 28px; overflow-wrap: break-word; }
.karriere-knopf { display: inline-block; background: #1C2B4A; color: #fff !important; border-radius: 10px; padding: 12px 22px; text-decoration: none; font-size: 18px; }
@media (hover: hover) { .karriere-knopf:hover { background: #2C4671; } }
.karriere-knopf:focus-visible { outline: 2px solid #1C2B4A; outline-offset: 3px; }
.karriere-adresse { margin: 14px 0 0; font-size: 16px; }
.karriere-adresse a { color: #2C4671; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 991px) { .karriere { scroll-margin-top: 67px; } .karriere-titel { font-size: 30px; } .karriere-text { font-size: 18px; } }
/* Aufmacher: Etikett ohne Versalien und Sperrung (voice.md, David 15.11.2026) */
.hero .inner .small-title { text-transform: none; letter-spacing: 0; font-size: 15px; }

/* Mission und Werte (Entwurf 15.11.2026, drei Layout-Varianten) */
.mission { padding: clamp(48px, 6vw, 96px) 0; scroll-margin-top: 96px; color: #1C2B4A; font-family: "Public Sans", Arial, sans-serif; font-size: 18px; line-height: 1.6; background: #fff; overflow-wrap: break-word; }
.mission:focus { outline: none; }
.mission h2, .mission h3, .mission p { margin: 0; }
.mission ul, .mission ol { list-style: none; margin: 0; padding: 0; }
.site-main .mission li { padding: 0; font-size: inherit; line-height: inherit; }
.site-main .mission li::before { content: none; }
.mission .mw-satz { color: inherit; }
.mission .mw-titel { font-family: Aleo, Georgia, serif; font-weight: 400; font-size: clamp(30px, 2.8vw, 40px); line-height: 1.2; margin-bottom: 20px; }
.mission .mw-mission { font-family: Aleo, Georgia, serif; font-size: 32px; line-height: 1.35; max-width: 720px; }
.mission .mw-wert { font-family: Aleo, Georgia, serif; font-weight: 400; font-size: 20px; line-height: 1.3; margin-bottom: 6px; }
.mission .mw-satz { max-width: 720px; }
.mission .mw-zeilen { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.mission .mw-kopf, .mission .mw-liste > li { min-width: 0; }
/* MW1 */
.mw1 .mw-liste > li { padding: 24px 0; border-top: 1px solid #DCE0E7; }
.mw1 .mw-liste > li:first-child { padding-top: 0; border-top: 0; }
.mw1 .mw-liste > li:last-child { padding-bottom: 0; }
/* MW2 */
/* MW3 */

@media (max-width: 991px) {
  .mission { scroll-margin-top: 67px; font-size: 16px; }
  .mission .mw-zeilen { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .mission .mw-mission { font-size: 26px; }
}

/* Mission und Werte steht zwischen Aufmacher und Cases: Überlappung von Aufmacher und Cases entfällt */
@media only screen and (min-width: 992px) { .home .hero:has(+ .mission) { padding-bottom: 100px; } .hero:has(+ .mission) .hw-steuerung { bottom: 16px; } }
.mission + .cards-carousel { margin-top: 0; }
.mission + .cards-carousel::before { top: 0; }
/* Cases: Etiketten ohne Versalien und Sperrung (voice.md) */
#cases .small-title, #cases .item-category { text-transform: none; letter-spacing: 0; }
/* Cases: Karten ganz auf der hellblauen Fläche (K1, David 15.11.2026) */
#cases.section { padding-top: 56px !important; padding-bottom: 64px !important; }
#leistungen .small-title, #leistungen .item-text a { text-transform: none; letter-spacing: 0; }
/* Hauptnavigation (David 14.11.2026): Cases, Leistungen, Über uns, Kontakt. Varianten n1 bis n3 nur für die Vorschau (?nav=1|2|3). */

/* Sprungziele: Oberkante unter dem fixierten Kopf */
#cases, #leistungen, #ueber-uns { scroll-margin-top: 67px; outline: none; }
@media only screen and (min-width: 992px) { #cases, #leistungen, #ueber-uns { scroll-margin-top: 96px; } }

.site-header .hn-zeile { display: flex; align-items: center; justify-content: flex-start; }
.site-header .hn-nav ul { margin: 0; padding: 0; display: flex; align-items: center; }
.site-header .hn-nav li { list-style: none; }
.site-header .hn-nav a {
  display: inline-block; padding: 5px 12px; font-size: 16px; font-weight: 400; line-height: 1.5;
  color: #1C2B4A; text-decoration: none; text-underline-offset: 6px; text-decoration-thickness: 1.33px; white-space: nowrap;
}
.site-header .hn-nav a[aria-current] { text-decoration-line: underline; }
@media (hover: hover) { .site-header .hn-nav a:hover { text-decoration-line: underline; } }
.site-header .hn-nav a:focus-visible, .site-header .hn-kontakt:focus-visible, .site-header .hn-menueknopf:focus-visible, .site-header .hn-liste a:focus-visible {
  outline: 2px solid #2C4671; outline-offset: 3px;
}

.site-header .hn-kontakt {
  display: inline-flex; align-items: center; height: 41px; padding: 0 20px; font-size: 16px; line-height: 1;
  background-color: #1C2B4A; color: #FFFFFF; border: 1.33px solid #1C2B4A; border-radius: 10px; text-decoration: none; white-space: nowrap; transition: background-color .3s;
}
@media (hover: hover) { .site-header .hn-kontakt:hover { background-color: #2C4671; } }

/* Sprachumschalter S2 „DE / EN“ vor dem Kontakt-Knopf (David 15.11.2026) */
.site-header .hn-rechts { display: none; }
.site-header .hn-sprache { display: flex; align-items: center; font-size: 16px; line-height: 1; white-space: nowrap; }
.site-header .hn-sprache a { color: #1C2B4A; text-decoration: none; text-underline-offset: 6px; text-decoration-thickness: 1.33px; }
.site-header .hn-sprache a[aria-current] { text-decoration-line: underline; }
@media (hover: hover) { .site-header .hn-sprache a:hover { text-decoration-line: underline; } }
.site-header .hn-sprache a:focus-visible { outline: 2px solid #2C4671; outline-offset: 4px; }
.site-header .hn-sprache-strich { margin: 0 8px; color: #BCC7DB; }

/* Handy: unter 1024 px nur Textknopf Menü mit einfacher Liste */
.site-header .hn-nav, .site-header .hn-kontakt { display: none; }
.site-header .hn-handy { margin-left: auto; position: static; }
.site-header .hn-menueknopf {
  height: 41px; padding: 0 4px; margin-right: -4px; border: 0; background: transparent; color: #1C2B4A; font: inherit; font-size: 16px; cursor: pointer;
  text-underline-offset: 6px; text-decoration-thickness: 1.33px;
}
.site-header .hn-menueknopf[aria-expanded="true"] { text-decoration-line: underline; }
@media (hover: hover) { .site-header .hn-menueknopf:hover { text-decoration-line: underline; } }
.site-header .hn-liste {
  position: absolute; top: 100%; left: 0; right: 0; margin: 0; padding: 0 3% 8px; background: #FFFFFF; border-top: 1px solid #DCE0E7; border-bottom: 1px solid #DCE0E7;
  max-height: calc(100vh - 67px); overflow-y: auto;
}
.site-header .hn-liste li { list-style: none; border-bottom: 1px solid #DCE0E7; }
.site-header .hn-liste li:last-child { border-bottom: 0; }
.site-header .hn-liste a { display: block; padding: 16px 0; font-size: 18px; line-height: 1.4; color: #1C2B4A; text-decoration: none; }
.site-header .hn-liste a[aria-current] { text-decoration: underline; text-decoration-thickness: 1.33px; text-underline-offset: 6px; }

@media only screen and (min-width: 1024px) {
  .site-header .hn-handy { display: none; }
  .site-header .hn-nav { display: block; }
  .site-header .hn-kontakt { display: inline-flex; }

  /* Menü mittig, Logo links, Knopf rechts (N3, freigegeben David 14.11.2026) */
  .site-header .hn-zeile { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .site-header .hn-rechts { display: flex; align-items: center; gap: 28px; justify-self: end; }
}
@media only screen and (min-width: 1200px) { .site-header > .hn-zeile { width: 92.5%; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* Fußzeile: Kontaktblock ohne Linien (FZ3, freigegeben David 15.11.2026) */

/* gemeinsam: keine senkrechten Linien, Spalten ohne Trenner */
.site-footer .widgets { border-bottom: 0; }
.site-footer .widget-3 ul li a::after,
.site-footer .widget-4::after { content: none !important; display: none !important; }

/* Mobil: Reihenfolge von oben nach unten, Menüs sichtbar */
@media only screen and (max-width: 991px) {
  .site-footer .widgets { flex-direction: column !important; align-items: center; padding: 0 0 40px; margin-bottom: 0; }
  .site-footer .widget { margin: 0 auto 8px; text-align: center; }
  .site-footer .widget-2 { max-width: none !important; margin-left: auto !important; }
  .site-footer .widget-2 ul, .site-footer .widget-3 ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 24px; }
  .site-footer .widget-3 ul li a, .site-footer .widget-2 ul li a { font-size: 15px; color: #fff !important; padding-top: 6px; padding-bottom: 6px; }
  .site-footer .widget-4 { margin: 24px auto 0; padding-bottom: 0; }
  .site-footer .copyright { padding-top: 28px; }
}
@media only screen and (min-width: 992px) {
  .site-footer .widgets { padding-bottom: 56px; margin-bottom: 0; }
  .site-footer .widget-4 { width: 24%; }
}

/* Links gemeinsam */
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { text-decoration: underline 1.3px; text-underline-offset: 4px; }
.site-footer ul li a:hover { text-decoration: underline 1.3px; text-underline-offset: 4px; }
.site-footer a:focus-visible { outline: 2px solid #E3E8F1; outline-offset: 3px; border-radius: 2px; }
.site-footer .widget-3 ul li a { color: #fff !important; font-size: 15px; }

/* Kontaktblock */
.site-footer .fz-kontakt { display: flex; flex-direction: column; gap: 2px; margin: 0 0 16px; font-style: normal; font-family: Aleo, sans-serif; font-size: 15px; line-height: 1.5; color: #E3E8F1; }
.site-footer .fz-kontakt span, .site-footer .fz-kontakt a { color: #E3E8F1; font-family: Aleo, sans-serif; font-size: 15px; overflow-wrap: anywhere; }
.site-footer .fz-link { font-family: Aleo, sans-serif; font-size: 15px; color: #fff; }
