.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;color:#22364B;font-family:"Roboto", Sans-serif;font-weight:400;}.elementor-kit-6 a{color:#1F63D6;text-decoration:underline;}.elementor-kit-6 a:hover{color:#174EAE;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --vs-primary:#0C2439; --vs-primary-deep:#081A2B; --vs-primary-soft:#16344F; --vs-primary-line:#2B4A68; --vs-secondary:#1F63D6; --vs-secondary-dark:#174EAE; --vs-secondary-soft:#E7EFFC; --vs-accent:#C6F24E; --vs-accent-hover:#D6F87C; --vs-accent-active:#AEDC2E; --vs-white:#FFFFFF; --vs-surface:#F4F7FA; --vs-border:#DCE3EB; --vs-border-strong:#74879C; --vs-text:#22364B; --vs-text-muted:#4A5B6E; --vs-on-dark-muted:#B9CADB; --vs-success:#17703F; --vs-success-soft:#E6F4EC; --vs-error:#B42318; --vs-error-soft:#FDEDEB; --vs-shadow-soft:#0C243914; --vs-shadow-strong:#0C243929; --vs-font-heading:Montserrat; --vs-font-body:Roboto; --vs-fs-h1-desktop:4rem; --vs-fs-h1-tablet:3rem; --vs-fs-h1-mobile:2.25rem; --vs-fs-h2-desktop:2.75rem; --vs-fs-h2-tablet:2.25rem; --vs-fs-h2-mobile:1.875rem; --vs-fs-h3-desktop:1.5rem; --vs-fs-h3-mobile:1.25rem; --vs-fs-h4:1.125rem; --vs-fs-lead-desktop:1.25rem; --vs-fs-lead-mobile:1.125rem; --vs-fs-body:1.0625rem; --vs-fs-button:1rem; --vs-fs-small:0.9375rem; --vs-fs-xs:0.8125rem; --vs-space-1:4px; --vs-space-2:8px; --vs-space-3:12px; --vs-space-4:16px; --vs-space-5:24px; --vs-space-6:32px; --vs-space-7:48px; --vs-space-8:64px; --vs-space-9:80px; --vs-space-10:96px; --vs-container:1200px; --vs-container-narrow:760px; --vs-measure:64ch; --vs-radius-sm:8px; --vs-radius-md:12px; --vs-radius-lg:20px; --vs-radius-xl:28px; --vs-radius-pill:999px; }
/* Start custom CSS *//* css-01 · Header shrink and divider on scroll (handoff custom-css.md; approved Q5) */
@media (min-width: 768px) {
  @supports (animation-timeline: scroll()) {
    .vs-header { animation: vs-header-shrink linear both; animation-timeline: scroll(root); animation-range: 0px 100px; }
    .vs-logo-mark-lg { animation: vs-mark-shrink linear both; animation-timeline: scroll(root); animation-range: 0px 100px; }
    .vs-logo-text-lg { animation: vs-text-shrink linear both; animation-timeline: scroll(root); animation-range: 0px 100px; }
  }
}
@media (max-width: 767px) {
  @supports (animation-timeline: scroll()) {
    .vs-header { animation: vs-header-line linear both; animation-timeline: scroll(root); animation-range: 0px 100px; }
  }
}
@keyframes vs-header-shrink { to { padding-top: 12px; padding-bottom: 12px; border-color: #2B4A68; box-shadow: 0px 8px 24px 0px #0000002E; } }
@keyframes vs-header-line { to { border-color: #2B4A68; } }
@keyframes vs-mark-shrink { to { width: 40px; height: 40px; } }
@keyframes vs-text-shrink { to { font-size: 1.125rem; } }

/* css-01 addition (Q32; changed by Q59, 2026-10-10): on tablets the open menu follows the shrinking bar (the Nav Menu's Distance is a fixed offset). Q59: Chrome 154 didn't paint the items while Elementor's hide-scroll ran with the scroll-driven lift, so hide-scroll is dropped; scrollbar-width: none does its one job (no scrollbar while the menu opens). */
@media (min-width: 768px) and (max-width: 1024px) {
  @supports (animation-timeline: scroll()) {
    .vs-header .elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container { animation: vs-menu-lift linear both; animation-timeline: scroll(root); animation-range: 0px 100px; scrollbar-width: none; }
  }
}
@keyframes vs-menu-lift { to { translate: 0 -20px; } }

/* css-02 · Focus ring without Hello's outline on top (Q22) */
.elementor :is(.vs-btn, .vs-link, .vs-logo, .vs-field):focus-visible { outline: none; }

/* css-03 · Browser focus outline on inline links inside Atomic text (Q35) */
.elementor :is(.e-paragraph-base, .e-heading-base) a:focus-visible { outline: revert; outline-offset: revert; }

/* css-04 · Focused items stay clear of the fixed header (WCAG 2.2 SC 2.4.11; Q55) */
:is(a, button, input, select, textarea, [tabindex]):focus { scroll-margin-top: 96px; scroll-margin-bottom: 24px; }/* End custom CSS */