.elementor-kit-16{--e-global-color-primary:#1F4C7A;--e-global-color-secondary:#112C47;--e-global-color-text:#1E1E1E;--e-global-color-accent:#387BBF;--e-global-color-03ee526:#FCFBFA;--e-global-color-a99590a:#F9F6F3;--e-global-color-94b8bc3:#F4F0EB;--e-global-color-ca4f936:#405E3B;--e-global-color-cddd7cc:#112C47;--e-global-color-e4e3fa3:#1F4C7A;--e-global-color-7b2b9bc:#387BBF;--e-global-color-02b3c82:#E3EAF2;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.1;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.4;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:1.5rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.4;--e-global-typography-accent-font-family:"Open Sans";--e-global-typography-accent-font-weight:500;background-color:#FCFBFA;color:var( --e-global-color-text );font-family:"Inter", Sans-serif;font-size:1rem;}.elementor-kit-16 button,.elementor-kit-16 input[type="button"],.elementor-kit-16 input[type="submit"],.elementor-kit-16 .elementor-button{background-color:#1F4C7A00;font-family:"Inter", Sans-serif;font-size:1.125rem;font-weight:400;text-transform:none;color:var( --e-global-color-primary );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-primary );border-radius:40px 40px 40px 40px;padding:0.7rem 2rem 0.7rem 2rem;}.elementor-kit-16 button:hover,.elementor-kit-16 button:focus,.elementor-kit-16 input[type="button"]:hover,.elementor-kit-16 input[type="button"]:focus,.elementor-kit-16 input[type="submit"]:hover,.elementor-kit-16 input[type="submit"]:focus,.elementor-kit-16 .elementor-button:hover,.elementor-kit-16 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-03ee526 );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-accent );}.elementor-kit-16 e-page-transition{background-color:#01010242;}.elementor-kit-16 a{color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:1.5rem;font-weight:700;line-height:1.4;}.elementor-kit-16 a:hover{color:var( --e-global-color-secondary );text-decoration:underline;}.elementor-kit-16 h1{color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;font-size:4rem;font-weight:600;}.elementor-kit-16 h2{color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;font-size:2.25rem;font-weight:600;line-height:1.4;}.elementor-kit-16 h3{font-family:"Montserrat", Sans-serif;font-size:1.5rem;}.elementor-kit-16 h4{color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-weight:400;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1340px;}.e-con{--container-max-width:1340px;--container-default-padding-top:2rem;--container-default-padding-right:2rem;--container-default-padding-bottom:2rem;--container-default-padding-left:2rem;}.elementor-widget:not(:last-child){margin-block-end:1rem;}.elementor-element{--widgets-spacing:1rem 1rem;--widgets-spacing-row:1rem;--widgets-spacing-column:1rem;}{}h1.entry-title{display:var(--page-title-display);}.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:880px){.elementor-kit-16 button,.elementor-kit-16 input[type="button"],.elementor-kit-16 input[type="submit"],.elementor-kit-16 .elementor-button{padding:10px 30px 10px 30px;}}@media(max-width:480px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Preserve text-wrap & hanging-punctuation */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
blockquote {
  text-wrap: balance;
  hanging-punctuation: first allow-end;
}

/* 1. CSS Variables for heading margins */
:root {
  --curis-h1-margin: 20px;
  --curis-h2-margin: 16px;
  --curis-h3-margin: 14px;
  --curis-h4-margin: 12px;
  --curis-h5-margin: 10px;
  --curis-h6-margin: 8px;
}

/* Prevent horizontal scroll */
html,
body {
  overflow-x: hidden;
}

/* 2. Homepage header fade-in with performance hints */
body.home .header-fade-in {
  opacity: 0;
  animation: fadeInDown 0.6s ease forwards;
  animation-delay: 0.1s;
  will-change: transform, opacity;
  backface-visibility: hidden;
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 3. Page-transition blur with performance hint */
.e-page-transition-enter .elementor,
.e-page-transition-leave .elementor {
  filter: blur(6px);
  transition: filter 0.4s ease;
  will-change: filter;
}

/* 4. Button hover & focus states */
a.elementor-button:hover {
  text-decoration: none;
}
a.elementor-button:focus {
  outline: 2px dashed var(--e-global-color-primary, #141414);
  outline-offset: 2px;
}

/* 5. Large-button adjustments */
.large-btn a.elementor-button {
  padding: 15px;
  min-width: 200px;
}

/* 6. Separator styling */
span.separator {
  color: #387bbf;
}

/* 7. Text-wrap container fixes */
.text-wrap {
  position: relative;
  z-index: 1;
  overflow-y: auto;
  margin-bottom: 1rem;
  pointer-events: auto;
}

/* 8. EAEL wrapper-link stacking context */
[class^="eael-wrapper-link-"] {
  z-index: 0 !important;
}

/* --- CLEANUP: removed Elementor's old per-level .h1–.h6 overrides --- */

/* Unified .h1 style for standalone and Elementor widgets */
.h1,
.elementor-widget-heading.h1 .elementor-heading-title {
  margin-block-end: 1rem;
  margin-block-start: 0.5rem;
  text-wrap: balance;
  box-sizing: border-box;
  line-height: 1;
  margin: 0;
  padding: 0;
  color: var(--e-global-color-primary);
  font-family: "Montserrat", Sans-serif;
  font-size: 4rem; /* ~64px */
  font-weight: 600;
}

/* Tablet (Elementor’s common breakpoint) */
@media (max-width: 1024px) {
  .h1,
  .elementor-widget-heading.h1 .elementor-heading-title {
    font-size: 3rem; /* ~48px */
    line-height: 1.1;
  }
}

/* Mobile (Elementor’s common breakpoint) */
@media (max-width: 767px) {
  .h1,
  .elementor-widget-heading.h1 .elementor-heading-title {
    font-size: 2.25rem; /* ~36px */
    line-height: 1.2;
  }
}/* End custom CSS */