.elementor-kit-23{--e-global-color-primary:#0D2B6A;--e-global-color-secondary:#2BB7E5;--e-global-color-text:#1F2328;--e-global-color-accent:#1480A4;--e-global-color-48d868c:#E9ECEF;--e-global-color-ab6f871:#8A929C;--e-global-color-c9f374c:#19B5B0;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:0.01em;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.25em;--e-global-typography-secondary-letter-spacing:0.01em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-583e54c-font-family:"Montserrat";--e-global-typography-583e54c-font-size:48px;--e-global-typography-583e54c-font-weight:700;--e-global-typography-583e54c-line-height:1.15em;--e-global-typography-583e54c-letter-spacing:0.02em;--e-global-typography-5d167aa-font-family:"Montserrat";--e-global-typography-5d167aa-font-size:36px;--e-global-typography-5d167aa-font-weight:700;--e-global-typography-5d167aa-line-height:1.2em;--e-global-typography-5d167aa-letter-spacing:0.01em;--e-global-typography-d3dae9a-font-family:"Montserrat";--e-global-typography-d3dae9a-font-size:28px;--e-global-typography-d3dae9a-font-weight:600;--e-global-typography-d3dae9a-line-height:1.25em;--e-global-typography-d3dae9a-letter-spacing:0.01em;--e-global-typography-83682a1-font-family:"Montserrat";--e-global-typography-83682a1-font-size:24px;--e-global-typography-83682a1-font-weight:600;--e-global-typography-83682a1-line-height:1.3em;--e-global-typography-7044a64-font-family:"Montserrat";--e-global-typography-7044a64-font-size:20px;--e-global-typography-7044a64-font-weight:600;--e-global-typography-7044a64-line-height:1.35em;--e-global-typography-84ca66e-font-family:"Montserrat";--e-global-typography-84ca66e-font-size:18px;--e-global-typography-84ca66e-font-weight:600;--e-global-typography-84ca66e-line-height:1.4em;--e-global-typography-84ca66e-letter-spacing:0.01em;--e-global-typography-520c191-font-family:"Inter";--e-global-typography-520c191-font-size:18px;--e-global-typography-520c191-font-weight:500;--e-global-typography-520c191-line-height:1.4em;--e-global-typography-51c878f-font-family:"Inter";--e-global-typography-51c878f-font-size:16px;--e-global-typography-51c878f-font-weight:500;--e-global-typography-51c878f-line-height:1.2em;--e-global-typography-51c878f-letter-spacing:0.02em;--e-global-typography-69c152f-font-family:"Inter";--e-global-typography-69c152f-font-size:14px;--e-global-typography-69c152f-font-weight:400;--e-global-typography-69c152f-line-height:1.4em;--e-global-typography-112b6c4-font-family:"Montserrat";--e-global-typography-112b6c4-font-size:15px;--e-global-typography-112b6c4-font-weight:400;--e-global-typography-112b6c4-line-height:1.5em;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-23 button,.elementor-kit-23 input[type="button"],.elementor-kit-23 input[type="submit"],.elementor-kit-23 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-51c878f-font-family ), Sans-serif;font-size:var( --e-global-typography-51c878f-font-size );font-weight:var( --e-global-typography-51c878f-font-weight );line-height:var( --e-global-typography-51c878f-line-height );letter-spacing:var( --e-global-typography-51c878f-letter-spacing );word-spacing:var( --e-global-typography-51c878f-word-spacing );color:#FFFFFF;border-style:solid;border-width:0px 0px 0px 0px;border-radius:6px 6px 6px 6px;padding:16px 32px 16px 32px;}.elementor-kit-23 button:hover,.elementor-kit-23 button:focus,.elementor-kit-23 input[type="button"]:hover,.elementor-kit-23 input[type="button"]:focus,.elementor-kit-23 input[type="submit"]:hover,.elementor-kit-23 input[type="submit"]:focus,.elementor-kit-23 .elementor-button:hover,.elementor-kit-23 .elementor-button:focus{background-color:#091F4D;color:#FFFFFF;border-style:solid;border-width:0px 0px 0px 0px;border-radius:6px 6px 6px 6px;}.elementor-kit-23 e-page-transition{background-color:#F5F7F9;}.elementor-kit-23 p{margin-block-end:24px;}.elementor-kit-23 a{color:var( --e-global-color-accent );font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;line-height:1.5em;}.elementor-kit-23 a:hover{color:var( --e-global-color-primary );}.elementor-kit-23 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-583e54c-font-family ), Sans-serif;font-size:var( --e-global-typography-583e54c-font-size );font-weight:var( --e-global-typography-583e54c-font-weight );line-height:var( --e-global-typography-583e54c-line-height );letter-spacing:var( --e-global-typography-583e54c-letter-spacing );word-spacing:var( --e-global-typography-583e54c-word-spacing );}.elementor-kit-23 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-5d167aa-font-family ), Sans-serif;font-size:var( --e-global-typography-5d167aa-font-size );font-weight:var( --e-global-typography-5d167aa-font-weight );line-height:var( --e-global-typography-5d167aa-line-height );letter-spacing:var( --e-global-typography-5d167aa-letter-spacing );word-spacing:var( --e-global-typography-5d167aa-word-spacing );}.elementor-kit-23 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-d3dae9a-font-family ), Sans-serif;font-size:var( --e-global-typography-d3dae9a-font-size );font-weight:var( --e-global-typography-d3dae9a-font-weight );line-height:var( --e-global-typography-d3dae9a-line-height );letter-spacing:var( --e-global-typography-d3dae9a-letter-spacing );word-spacing:var( --e-global-typography-d3dae9a-word-spacing );}.elementor-kit-23 h4{color:var( --e-global-color-text );font-family:var( --e-global-typography-83682a1-font-family ), Sans-serif;font-size:var( --e-global-typography-83682a1-font-size );font-weight:var( --e-global-typography-83682a1-font-weight );line-height:var( --e-global-typography-83682a1-line-height );letter-spacing:var( --e-global-typography-83682a1-letter-spacing );word-spacing:var( --e-global-typography-83682a1-word-spacing );}.elementor-kit-23 h5{color:var( --e-global-color-text );font-family:var( --e-global-typography-7044a64-font-family ), Sans-serif;font-size:var( --e-global-typography-7044a64-font-size );font-weight:var( --e-global-typography-7044a64-font-weight );line-height:var( --e-global-typography-7044a64-line-height );letter-spacing:var( --e-global-typography-7044a64-letter-spacing );word-spacing:var( --e-global-typography-7044a64-word-spacing );}.elementor-kit-23 h6{color:var( --e-global-color-text );font-family:var( --e-global-typography-84ca66e-font-family ), Sans-serif;font-size:var( --e-global-typography-84ca66e-font-size );font-weight:var( --e-global-typography-84ca66e-font-weight );line-height:var( --e-global-typography-84ca66e-line-height );letter-spacing:var( --e-global-typography-84ca66e-letter-spacing );word-spacing:var( --e-global-typography-84ca66e-word-spacing );}.elementor-kit-23 img{border-radius:8px 8px 8px 8px;}.elementor-kit-23 img:hover{border-radius:8px 8px 8px 8px;}.elementor-kit-23 label{color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-23 input:not([type="button"]):not([type="submit"]),.elementor-kit-23 textarea,.elementor-kit-23 .elementor-field-textual{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );color:#1F2328;background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-ab6f871 );border-radius:6px 6px 6px 6px;transition:250ms;padding:14px 16px 14px 16px;}.elementor-kit-23 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-23 textarea:focus,.elementor-kit-23 .elementor-field-textual:focus{color:#1F2328;accent-color:#2BB7E5;background-color:#FFFFFF;box-shadow:0px 0px 0px 3px rgba(43,183,229,0.45);border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-secondary );border-radius:6px 6px 6px 6px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.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);}.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-kit-23{--e-global-typography-primary-font-size:36px;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:0.01em;--e-global-typography-secondary-font-size:24px;--e-global-typography-secondary-line-height:1.25em;--e-global-typography-secondary-letter-spacing:0.01em;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-size:16px;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-583e54c-font-size:36px;--e-global-typography-583e54c-line-height:1.15em;--e-global-typography-583e54c-letter-spacing:0.02em;--e-global-typography-5d167aa-font-size:30px;--e-global-typography-5d167aa-line-height:1.2em;--e-global-typography-5d167aa-letter-spacing:0.01em;--e-global-typography-d3dae9a-font-size:24px;--e-global-typography-d3dae9a-line-height:1.25em;--e-global-typography-d3dae9a-letter-spacing:0.01px;--e-global-typography-83682a1-font-size:22px;--e-global-typography-83682a1-line-height:1.3em;--e-global-typography-7044a64-font-size:18px;--e-global-typography-7044a64-line-height:1.35em;--e-global-typography-84ca66e-font-size:16px;--e-global-typography-84ca66e-line-height:1.4em;--e-global-typography-84ca66e-letter-spacing:0.01em;--e-global-typography-520c191-font-size:17px;--e-global-typography-520c191-line-height:1.4em;--e-global-typography-51c878f-font-size:16px;--e-global-typography-51c878f-line-height:1.2em;--e-global-typography-51c878f-letter-spacing:0.02px;--e-global-typography-69c152f-font-size:14px;--e-global-typography-69c152f-line-height:1.4em;--e-global-typography-112b6c4-font-size:14px;--e-global-typography-112b6c4-line-height:1.5em;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-23 a{font-size:16px;line-height:1.5em;}.elementor-kit-23 h1{font-size:var( --e-global-typography-583e54c-font-size );line-height:var( --e-global-typography-583e54c-line-height );letter-spacing:var( --e-global-typography-583e54c-letter-spacing );word-spacing:var( --e-global-typography-583e54c-word-spacing );}.elementor-kit-23 h2{font-size:var( --e-global-typography-5d167aa-font-size );line-height:var( --e-global-typography-5d167aa-line-height );letter-spacing:var( --e-global-typography-5d167aa-letter-spacing );word-spacing:var( --e-global-typography-5d167aa-word-spacing );}.elementor-kit-23 h3{font-size:var( --e-global-typography-d3dae9a-font-size );line-height:var( --e-global-typography-d3dae9a-line-height );letter-spacing:var( --e-global-typography-d3dae9a-letter-spacing );word-spacing:var( --e-global-typography-d3dae9a-word-spacing );}.elementor-kit-23 h4{font-size:var( --e-global-typography-83682a1-font-size );line-height:var( --e-global-typography-83682a1-line-height );letter-spacing:var( --e-global-typography-83682a1-letter-spacing );word-spacing:var( --e-global-typography-83682a1-word-spacing );}.elementor-kit-23 h5{font-size:var( --e-global-typography-7044a64-font-size );line-height:var( --e-global-typography-7044a64-line-height );letter-spacing:var( --e-global-typography-7044a64-letter-spacing );word-spacing:var( --e-global-typography-7044a64-word-spacing );}.elementor-kit-23 h6{font-size:var( --e-global-typography-84ca66e-font-size );line-height:var( --e-global-typography-84ca66e-line-height );letter-spacing:var( --e-global-typography-84ca66e-letter-spacing );word-spacing:var( --e-global-typography-84ca66e-word-spacing );}.elementor-kit-23 button,.elementor-kit-23 input[type="button"],.elementor-kit-23 input[type="submit"],.elementor-kit-23 .elementor-button{font-size:var( --e-global-typography-51c878f-font-size );line-height:var( --e-global-typography-51c878f-line-height );letter-spacing:var( --e-global-typography-51c878f-letter-spacing );word-spacing:var( --e-global-typography-51c878f-word-spacing );}.elementor-kit-23 label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-23 input:not([type="button"]):not([type="submit"]),.elementor-kit-23 textarea,.elementor-kit-23 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-23{--e-global-typography-primary-font-size:32px;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:0.01em;--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-line-height:1.25em;--e-global-typography-secondary-letter-spacing:0.01em;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:1.5em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-size:16px;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-583e54c-font-size:32px;--e-global-typography-583e54c-line-height:1.15em;--e-global-typography-583e54c-letter-spacing:0.02em;--e-global-typography-5d167aa-font-size:28px;--e-global-typography-5d167aa-line-height:1.2em;--e-global-typography-5d167aa-letter-spacing:0.01em;--e-global-typography-d3dae9a-font-size:22px;--e-global-typography-d3dae9a-line-height:1.25em;--e-global-typography-d3dae9a-letter-spacing:0.01em;--e-global-typography-83682a1-font-size:20px;--e-global-typography-83682a1-line-height:1.3em;--e-global-typography-7044a64-font-size:18px;--e-global-typography-7044a64-line-height:1.35em;--e-global-typography-84ca66e-font-size:16px;--e-global-typography-84ca66e-line-height:1.4em;--e-global-typography-520c191-font-size:16px;--e-global-typography-520c191-line-height:1.4em;--e-global-typography-51c878f-font-size:16px;--e-global-typography-51c878f-line-height:1.2em;--e-global-typography-51c878f-letter-spacing:0.02px;--e-global-typography-69c152f-font-size:14px;--e-global-typography-69c152f-line-height:1.4em;--e-global-typography-112b6c4-font-size:14px;--e-global-typography-112b6c4-line-height:1.5em;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-23 p{margin-block-end:24px;}.elementor-kit-23 a{font-size:16px;line-height:1.5em;letter-spacing:0px;}.elementor-kit-23 h1{font-size:var( --e-global-typography-583e54c-font-size );line-height:var( --e-global-typography-583e54c-line-height );letter-spacing:var( --e-global-typography-583e54c-letter-spacing );word-spacing:var( --e-global-typography-583e54c-word-spacing );}.elementor-kit-23 h2{font-size:var( --e-global-typography-5d167aa-font-size );line-height:var( --e-global-typography-5d167aa-line-height );letter-spacing:var( --e-global-typography-5d167aa-letter-spacing );word-spacing:var( --e-global-typography-5d167aa-word-spacing );}.elementor-kit-23 h3{font-size:var( --e-global-typography-d3dae9a-font-size );line-height:var( --e-global-typography-d3dae9a-line-height );letter-spacing:var( --e-global-typography-d3dae9a-letter-spacing );word-spacing:var( --e-global-typography-d3dae9a-word-spacing );}.elementor-kit-23 h4{font-size:var( --e-global-typography-83682a1-font-size );line-height:var( --e-global-typography-83682a1-line-height );letter-spacing:var( --e-global-typography-83682a1-letter-spacing );word-spacing:var( --e-global-typography-83682a1-word-spacing );}.elementor-kit-23 h5{font-size:var( --e-global-typography-7044a64-font-size );line-height:var( --e-global-typography-7044a64-line-height );letter-spacing:var( --e-global-typography-7044a64-letter-spacing );word-spacing:var( --e-global-typography-7044a64-word-spacing );}.elementor-kit-23 h6{font-size:var( --e-global-typography-84ca66e-font-size );line-height:var( --e-global-typography-84ca66e-line-height );letter-spacing:var( --e-global-typography-84ca66e-letter-spacing );word-spacing:var( --e-global-typography-84ca66e-word-spacing );}.elementor-kit-23 button,.elementor-kit-23 input[type="button"],.elementor-kit-23 input[type="submit"],.elementor-kit-23 .elementor-button{font-size:var( --e-global-typography-51c878f-font-size );line-height:var( --e-global-typography-51c878f-line-height );letter-spacing:var( --e-global-typography-51c878f-letter-spacing );word-spacing:var( --e-global-typography-51c878f-word-spacing );}.elementor-kit-23 label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-23 input:not([type="button"]):not([type="submit"]),.elementor-kit-23 textarea,.elementor-kit-23 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================
   ACCESSIBILITY BASICS
   ========================================= */
/* Visible keyboard focus everywhere (WCAG 2.4.7) */
:where(a, button, [role="button"], input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--e-global-color-secondary, #2BB7E5) !important;
  outline-offset: 3px !important;
  border-radius: 4px;
}
/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
/* Links (incl. phone numbers) on dark sections stay white; also stops iPhone from turning numbers blue */
.on-dark .elementor-widget-text-editor a, .on-dark .elementor-widget-text-editor a:visited { color: #fff; }
.on-dark .elementor-widget-text-editor a:hover { color: #E9ECEF; }
a[x-apple-data-detectors] { color: inherit !important; text-decoration: inherit !important; font: inherit !important; }

/* =========================================
   BACK TO TOP (bottom-right, stacked above the cookie-settings button;
   Accessibility button mirrors it bottom-left). Appears once the page is scrolled.
   ========================================= */
@supports (animation-timeline: scroll()) {
  .back-to-top { animation: costalos-btt-reveal linear both; animation-timeline: scroll(root block); animation-range: 0 400px; }
}
@keyframes costalos-btt-reveal {
  0%, 60% { opacity: 0; visibility: hidden; transform: translateY(8px); }
  100% { opacity: 1; visibility: visible; transform: none; }
}
.back-to-top .elementor-button { width: 44px; height: 44px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; box-shadow: 0 6px 18px rgba(13, 43, 106, .25); }
.back-to-top .elementor-button-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.back-to-top .elementor-button-icon { margin: 0 !important; font-size: 16px; }
.back-to-top .elementor-button:hover .elementor-button-icon { transform: translateY(-3px); }
/* Paragraph rhythm: 24px between blocks */
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor p { margin-bottom: 24px; }
/* Links inside copy are underlined so they don't rely on colour alone (WCAG 1.4.1) */
.elementor-widget-text-editor a, .elementor-widget-icon-list .elementor-icon-list-text a { text-decoration: underline; text-underline-offset: 2px; }

/* =========================================
   MOBILE MENU LABEL
   ========================================= */
/* Add text next to the Elementor hamburger menu */
.elementor-menu-toggle:after {
  content: " Menu";
  font-size: 16px;
  font-weight: 500;
  margin-left: 8px;
  color: inherit;
}

/* =========================================
   SLIDING GRADIENT BUTTONS
   Brand version: Accent #1480A4 -> Deep Blue #0D2B6A.
   (Sky Blue is not used under white text: 2.3:1 fails WCAG; Accent holds 4.5:1.)
   ========================================= */
.elementor-button {
  position: relative;
  overflow: hidden;
  z-index: 1;
  background: var(--e-global-color-primary, #0D2B6A);
  color: #fff;
  transition: color .3s ease .1s, border-color .35s ease, background-color 0s;
}
.elementor-button:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--e-global-color-accent, #1480A4), var(--e-global-color-primary, #0D2B6A));
  transition: left .4s ease;
  z-index: -1;
}
.elementor-button:hover:before,
.elementor-button:focus-visible:before {
  left: 0;
}
.elementor-button:hover,
.elementor-button:focus-visible {
  color: #fff;
  border-color: var(--e-global-color-primary, #0D2B6A);
}
/* Trailing arrow nudges right on hover */
.elementor-button .elementor-button-icon { transition: transform .3s ease; }
.elementor-button:hover .elementor-button-icon,
.elementor-button:focus-visible .elementor-button-icon { transform: translateX(4px); }
/* Text-style links (e.g. "Learn about Braces") keep a plain link look, no sweep */
.btn-text-link .elementor-button { background: transparent; overflow: visible; padding-right: 8px; }
.btn-text-link .elementor-button:before { display: none; }
.btn-text-link .elementor-button:hover .elementor-button-text { text-decoration: underline; text-underline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .elementor-button, .elementor-button:before, .elementor-button .elementor-button-icon { transition: none; }
}

/* =========================================
   GLOBAL WEBSITE BULLET LISTS
   Elementor Text Editor + Post Content
   ========================================= */
.elementor-widget-text-editor ul,
.elementor-widget-theme-post-content ul {
  margin: 18px 0 22px;
  padding-left: 0;
  list-style: none;
}
.elementor-widget-text-editor ul li,
.elementor-widget-theme-post-content ul li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
  line-height: 1.6;
}
/* Custom branded bullet (Accent) */
.elementor-widget-text-editor ul li::before,
.elementor-widget-theme-post-content ul li::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 0.8em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: var(--e-global-color-accent, #1480A4);
  transform: translateY(-50%);
}
/* Remove extra spacing after final bullet */
.elementor-widget-text-editor ul li:last-child,
.elementor-widget-theme-post-content ul li:last-child {
  margin-bottom: 0;
}
/* Mobile optimization */
@media (max-width: 767px) {
  .elementor-widget-text-editor ul,
  .elementor-widget-theme-post-content ul { margin: 16px 0 20px; }
  .elementor-widget-text-editor ul li,
  .elementor-widget-theme-post-content ul li { padding-left: 24px; margin-bottom: 9px; line-height: 1.55; }
  .elementor-widget-text-editor ul li::before,
  .elementor-widget-theme-post-content ul li::before { left: 4px; width: 6px; height: 6px; }
}
/* =========================================
   TOP BAR: LANGUAGE SELECTOR (GTranslate)
   GTranslate's links don't carry Elementor's menu classes, so they are styled here.
   ========================================= */
.top-bar .elementor-nav-menu--main > .elementor-nav-menu > li > a[data-gt-lang] { color: #fff; font-family: "Inter", sans-serif; font-size: 14px; font-weight: 500 !important; line-height: 20px; padding: 8px; }
.top-bar .elementor-nav-menu--main > .elementor-nav-menu > li > a[data-gt-lang]:hover,
.top-bar .elementor-nav-menu--main > .elementor-nav-menu > li > a[data-gt-lang]:focus-visible { color: #2BB7E5; }
.top-bar .lang-inline .elementor-nav-menu--main > .elementor-nav-menu > li > a.gt-current-lang { font-weight: 700 !important; text-decoration: underline; text-decoration-color: #2BB7E5; text-decoration-thickness: 2px; text-underline-offset: 5px; }
/* Phone: compact "Language" dropdown */
.top-bar .sub-menu a[data-gt-lang] { color: #1F2328; font-family: "Inter", sans-serif; font-size: 16px; font-weight: 500 !important; line-height: 20px; padding: 12px 20px; }
.top-bar .sub-menu a[data-gt-lang]:hover,
.top-bar .sub-menu a[data-gt-lang]:focus-visible { color: #0D2B6A; background-color: #E9ECEF; }
.top-bar .sub-menu a.gt-current-lang { font-weight: 700 !important; }
/* Flag + language name: space between the flag and the name (desktop row and phone dropdown) */
.top-bar a[data-gt-lang] { display: flex; align-items: center; gap: 8px; }
.top-bar a[data-gt-lang] img { flex: none; }
.top-bar .lang-compact .sub-menu { min-width: 120px !important; }

/* =========================================
   TRANSLATED PAGES
   ========================================= */
/* English menu spacing grows with screen width; the translated menu keeps tighter spacing so its longer labels fit */
html[class*="translated-"] [data-elementor-type="header"] .elementor-element-4335e32 { --e-nav-menu-horizontal-menu-item-margin: 3px; }
/* Translated pages: translated menu labels need ~1,330px, so between 1100px and 1365px
   they use the Menu toggle, like tablet landscape */
@media (min-width: 1100px) and (max-width: 1365px) {
  html[class*="translated-"] .elementor-nav-menu--dropdown-tablet_extra .elementor-nav-menu--main { display: none !important; }
  html[class*="translated-"] .elementor-nav-menu--dropdown-tablet_extra .elementor-menu-toggle { display: flex !important; }
  html[class*="translated-"] .elementor-nav-menu--dropdown-tablet_extra nav.elementor-nav-menu--dropdown { display: block !important; }
}
/* Right-to-left translations (Arabic): arrows point toward the end of the line */
html.translated-rtl .elementor-button .elementor-button-icon svg { transform: scaleX(-1); }
html.translated-rtl .elementor-button:hover .elementor-button-icon,
html.translated-rtl .elementor-button:focus-visible .elementor-button-icon { transform: translateX(-4px); }
/* RTL: header row stays left-to-right so Elementor positions the Menu panel correctly;
   the menu text itself still reads right-to-left */
html.translated-rtl [data-elementor-type="header"] { direction: ltr; }
html.translated-rtl [data-elementor-type="header"] nav.elementor-nav-menu--dropdown .elementor-nav-menu { direction: rtl; }
/* Machine-translation notice (footer): only shown on translated pages */
.translation-notice { display: none !important; }
html[class*="translated-"] .translation-notice { display: flex !important; }
/* Brand name stays untranslated; Google drops the spaces around it, so restore them */
html[class*="translated-"] span.notranslate { margin-inline: 0.25em; }

/* HERO PHOTOS: right-to-left translations (Arabic) move the hero text over the photo side,
   so the left-to-right gradient overlay is evened out for contrast */
@media (min-width: 768px) {
  html.translated-rtl .hero-photo::before { background-image: none !important; background-color: rgba(13, 43, 106, 0.86) !important; }
}


/* HERO PHOTO BAND (phones): photo under the hero buttons runs edge to edge past the hero's side padding
   (Elementor caps widgets at max-width:100%; width/margins are set on the widget itself) */
@media (max-width: 767px) {
  .e-con.e-con > .e-con-inner > .hero-mobile-photo.elementor-widget,
  .elementor.elementor .e-con > .hero-mobile-photo.elementor-widget { max-width: none; }
  /* Right-to-left translations (Arabic) align the band to the right, so mirror the bleed margin */
  html.translated-rtl .hero-mobile-photo.elementor-widget { margin-left: 0 !important; margin-right: -5.5556% !important; }
}


/* TAP TARGETS: text-style links get a ~43px tall tap area (Google mobile guideline / WCAG 2.5.8)
   without changing layout - the extra padding is cancelled by equal negative margins */
.btn-text-link .elementor-button { padding-top: 12px !important; padding-bottom: 12px !important; margin-top: -12px; margin-bottom: -12px; }


/* HEADING LINE BREAKS: H1/H2s put key terms on their own line with a line break; balanced wrapping keeps each part
   evenly split when it doesn't fit on one line (no single stranded word on phones or in narrow columns) */
h1.elementor-heading-title, h2.elementor-heading-title { text-wrap: balance; }

/* TRANSLATED PAGES: right-to-left (Arabic) - Google Translate flips the carousel dots to the other side but not their
   centering offset, so the dots ran off the left edge on phones. Elementor's own RTL multiplier mirrors the offset. */
html.translated-rtl .elementor-widget-n-carousel .swiper-pagination-bullets { --direction-multiplier: -1; }
/* TRANSLATED PAGES: Chinese - heading line breaks are ignored because Chinese word order moves the whole phrase
   onto one line, which left a blank first line */
html[lang|="zh"] .elementor-heading-title br:not(:has(+ .notranslate)) { display: none; } /* keep the break before the untranslated brand name so it can't run off the edge *//* End custom CSS */