.elementor-kit-5{--e-global-color-primary:#125688;--e-global-color-secondary:#0D3455;--e-global-color-text:#4D4F53;--e-global-color-accent:#9BC8FF;--e-global-color-c_ink:#231F20;--e-global-color-c_bg_light:#F2F2F2;--e-global-color-c_white:#FFFFFF;--e-global-color-c_border:#BCBEC0;--e-global-color-cffe0c1:#6F7176;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-size:18px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:1.33em;--e-global-typography-secondary-letter-spacing:0.9px;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.67em;--e-global-typography-accent-font-family:"Archivo";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:2px;--e-global-typography-accent-letter-spacing:1px;--e-global-typography-1966a96-font-family:"Archivo";--e-global-typography-1966a96-font-size:14px;--e-global-typography-1966a96-font-weight:500;--e-global-typography-1966a96-text-transform:uppercase;--e-global-typography-1966a96-line-height:1.33em;--e-global-typography-1966a96-letter-spacing:1px;color:#4D4F53;font-family:"Roboto", Sans-serif;font-size:18px;font-weight:500;line-height:1.67em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#125688;font-family:"Roboto", Sans-serif;font-size:18px;font-weight:500;text-transform:uppercase;line-height:1.67em;letter-spacing:0px;color:#FFFFFF;border-radius:0px 0px 0px 0px;padding:16px 32px 16px 32px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#0D3455;color:#FFFFFF;border-radius:0px 0px 0px 0px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#125688;}.elementor-kit-5 a:hover{color:#0D3455;}.elementor-kit-5 h1{color:#231F20;font-family:"Roboto", Sans-serif;font-size:70px;font-weight:700;line-height:1.14em;}.elementor-kit-5 h2{color:#231F20;font-family:"Roboto", Sans-serif;font-size:50px;font-weight:700;line-height:1.2em;}.elementor-kit-5 h3{color:#125688;font-family:"Roboto", Sans-serif;font-size:30px;font-weight:700;line-height:1.33em;}.elementor-kit-5 h4{color:#125688;font-family:"Roboto", Sans-serif;font-size:26px;font-weight:700;line-height:1.38em;}.elementor-kit-5 h5{color:#231F20;font-family:"Roboto", Sans-serif;font-size:22px;font-weight:700;line-height:1.4em;}.elementor-kit-5 h6{color:#231F20;font-family:"Roboto", Sans-serif;font-size:20px;font-weight:700;line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end: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{padding-inline-end:50px;padding-inline-start:50px;}.site-header .site-title{font-size:40px;}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-secondary-font-size:16px;--e-global-typography-1966a96-font-size:16px;}.elementor-kit-5 h1{font-size:48px;}.elementor-kit-5 h2{font-size:38px;}.elementor-kit-5 h3{font-size:26px;}.elementor-kit-5 h4{font-size:22px;}.elementor-kit-5 h5{font-size:20px;}.elementor-kit-5 h6{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-secondary-font-size:14px;--e-global-typography-text-font-size:16px;--e-global-typography-1966a96-font-size:14px;font-size:16px;}.elementor-kit-5 h1{font-size:36px;}.elementor-kit-5 h2{font-size:30px;}.elementor-kit-5 h3{font-size:22px;}.elementor-kit-5 h4{font-size:20px;}.elementor-kit-5 h5{font-size:18px;}.elementor-kit-5 h6{font-size:16px;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;}}:root { --e-gv-7f4b6c3:#125688; --mb-brand-blue:#125688; --mb-navy:#0D3455; --mb-body-grey:#4D4F53; --mb-light-blue:#9BC8FF; --mb-ink:#231F20; --mb-bg-light:#F2F2F2; --mb-white:#FFFFFF; --mb-border:#BCBEC0; --mb-process-bg:#EAF2FB; --mb-navy-offset:#1B5C93; --mb-card-border:#E3E8ED; }
/* Start custom CSS *//* Orphan prevention — stop a single word hanging alone on the last line.
   text-wrap is SILENTLY DROPPED by css-to-atomic (no props, no rejection), so it
   cannot live in a global class. The kit's Custom CSS is the only working route.
   balance  = evens out heading lines (browsers apply it up to ~6 lines)
   pretty   = leaves body text alone except the last line, killing the orphan
   Unsupported browsers ignore both — no fallback needed. */
.e-heading-base{text-wrap:balance}
.e-paragraph-base{text-wrap:pretty}

/* Links INSIDE body text must be distinguishable by more than colour alone
   (WCAG 1.4.1 / axe link-in-text-block). Buttons and nav are unaffected. */
.e-paragraph-base a{text-decoration:underline;text-underline-offset:2px}

/* === mb-form: BEGIN (setup_forms.py) === */
/* Every Elementor Pro Form carries the CSS class mb-form (Advanced → CSS Classes).
   Edit form styling HERE, once — not on each widget. Button mirrors mb-btn + mb-btn-primary.
   Selectors are `.elementor-widget-form.mb-form …` on purpose: Elementor ships a site-wide
   `.elementor-widget-form .elementor-button[type="submit"]{background:var(--e-global-color-accent)}`
   (0,3,0) that beat a plain `.mb-form .elementor-button` and turned the button light blue. */
.elementor-widget-form.mb-form .elementor-field-group{margin-bottom:20px}
.elementor-widget-form.mb-form .elementor-field-group>.elementor-field-label,.elementor-widget-form.mb-form .mb-form-legend{display:block;font-size:15px;font-weight:600;line-height:1.4;color:#231F20;margin:0 0 6px}
.elementor-widget-form.mb-form .mb-form-legend{font-size:16px;margin:0}
.elementor-widget-form.mb-form .mb-form-req,.elementor-widget-form.mb-form .elementor-mark-required .elementor-field-label:after{color:#B42318}
.elementor-widget-form.mb-form .mb-form-help{font-size:14px;line-height:1.5;color:#4D4F53;margin:-8px 0 0}
.elementor-widget-form.mb-form .elementor-field-textual{font-size:16px;line-height:1.5;color:#4D4F53;background-color:#FFFFFF;border:1px solid #BCBEC0;border-radius:0;padding:12px 14px;min-height:48px}
.elementor-widget-form.mb-form input.elementor-field-textual,.elementor-widget-form.mb-form select.elementor-field-textual{height:52px;min-height:52px;padding-top:0;padding-bottom:0}
/* ^ one height for inputs AND selects: they otherwise render 56px vs 50px and the row bottom-aligns them */
.elementor-widget-form.mb-form textarea.elementor-field-textual{min-height:140px}
.elementor-widget-form.mb-form .elementor-field-textual:focus{border-color:#125688;outline:2px solid #125688;outline-offset:0;box-shadow:none}
.elementor-widget-form.mb-form .elementor-button[type="submit"]{font-family:"Archivo",sans-serif;font-size:16px;font-weight:500;line-height:1.67;letter-spacing:1px;text-transform:uppercase;padding:16px 40px;border-radius:0;border:1px solid #125688;background-color:#125688;color:#FFFFFF;transition:all .25s}
.elementor-widget-form.mb-form .elementor-button[type="submit"]:hover,.elementor-widget-form.mb-form .elementor-button[type="submit"]:focus-visible{background-color:#0D3455;border-color:#0D3455;color:#FFFFFF}
.elementor-widget-form.mb-form .elementor-button[type="submit"]:focus-visible{outline:2px solid #125688;outline-offset:3px}
.elementor-widget-form.mb-form .elementor-message{font-size:15px;margin-top:12px}
/* === mb-form: END === */

/* === mb-accordion (setup_accordion.py): BEGIN === */
/* Accordions: every Nested Accordion carries the class mb-accordion. Style them HERE, once. */
.elementor-widget-n-accordion.mb-accordion .e-n-accordion{display:flex;flex-direction:column;gap:0;border-top:1px solid #BCBEC0}
.elementor-widget-n-accordion.mb-accordion .e-n-accordion-item{border-bottom:1px solid #BCBEC0}
/* Question left, +/− right. Elementor defaults the icon to the START and reverses the row. */
.elementor-widget-n-accordion.mb-accordion .e-n-accordion-item-title{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;background-color:transparent;border:0;border-radius:0;cursor:pointer}
.elementor-widget-n-accordion.mb-accordion .e-n-accordion-item-title-header{flex:1 1 auto;justify-content:flex-start;text-align:left}
.elementor-widget-n-accordion.mb-accordion .e-n-accordion-item-title-text{font-size:20px;font-weight:700;line-height:1.4;color:#231F20;margin:0}
.elementor-widget-n-accordion.mb-accordion .e-n-accordion-item-title:hover .e-n-accordion-item-title-text,.elementor-widget-n-accordion.mb-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-text{color:#125688}
.elementor-widget-n-accordion.mb-accordion .e-n-accordion-item-title-icon{color:#125688;font-size:16px;flex-shrink:0}
.elementor-widget-n-accordion.mb-accordion .e-n-accordion-item-title-icon{order:2}
/* Elementor colours the +/− through these variables (its own rule is more specific than ours) */
.elementor-widget-n-accordion.mb-accordion{--n-accordion-icon-normal-color:#125688;--n-accordion-icon-hover-color:#125688;--n-accordion-icon-active-color:#125688}
.elementor-widget-n-accordion.mb-accordion .e-n-accordion-item-title:focus-visible{outline:2px solid #125688;outline-offset:2px}
.elementor-widget-n-accordion.mb-accordion .e-n-accordion-item>.e-con{padding:0 4px 24px;gap:16px;border:0;color:#4D4F53}
@media (max-width:767px){.elementor-widget-n-accordion.mb-accordion .e-n-accordion-item-title-text{font-size:18px}}
/* === mb-accordion (setup_accordion.py): END === */

/* === video-faq-play: BEGIN === */
/* Video FAQ card — play-button overlay (build_video_faq_templates.py) */
[data-mb="video-play"]{position:absolute;inset:0;margin:auto;width:72px;height:72px;border-radius:50%;
  background:rgba(13,52,85,.85);pointer-events:none;transition:transform .2s ease}
[data-mb="video-play"]::before{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);
  border-style:solid;border-width:14px 0 14px 24px;border-color:transparent transparent transparent #fff}
.e-loop-item:hover [data-mb="video-play"],.e-loop-item:focus-within [data-mb="video-play"]{transform:scale(1.08)}
@media (prefers-reduced-motion:reduce){[data-mb="video-play"]{transition:none}}
/* === video-faq-play: END === */

/* === header-contact-mobile-menu: BEGIN === */
/* Header: "Contact" menu item shows ONLY in the phone hamburger (<768px), where the Contact button is hidden.
   Desktop: hidden in the horizontal menu (the button shows). Tablet (768–1024): hamburger shows but so does the button. */
.elementor-nav-menu--main .mb-menu-mobile-only{display:none!important}
@media (min-width:768px){.elementor-nav-menu--dropdown .mb-menu-mobile-only{display:none!important}}
/* === header-contact-mobile-menu: END === */

/* === transaction-terms-search: BEGIN === */
/* Transaction Terms — instant search box (page 552; script: Custom Code "Transaction Terms Search") */
.mb-term-search{display:flex;flex-direction:column;gap:8px;width:100%;max-width:720px}
.mb-term-search__label{font-family:"Archivo",sans-serif;font-size:16px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#0D3455}
.mb-term-search__input{width:100%;height:52px;padding:0 16px;font-family:"Roboto",sans-serif;font-size:16px;color:#231F20;background:#fff;border:1px solid #8A8C90;border-radius:0}
.mb-term-search__input:focus{outline:2px solid #125688;outline-offset:2px;border-color:#125688}
.mb-term-search__status{margin:0;font-family:"Roboto",sans-serif;font-size:15px;color:#4D4F53;min-height:1.5em}
.e-loop-item.mb-term-hidden{display:none!important}
/* === transaction-terms-search: END === */

/* === Listings: status badge: BEGIN === */
[data-mb="listing-status"] p:empty, [data-mb="listing-status"]:empty { display: none; }
/* === Listings: status badge: END === *//* End custom CSS */