.elementor-kit-224{--e-global-color-primary:#197885;--e-global-color-secondary:#142940;--e-global-color-text:#142940;--e-global-color-accent:#F05926;--e-global-color-cksage:#85BCB7;--e-global-color-ckstone:#DEDED2;--e-global-color-ckteal:#197885;--e-global-color-ckttealdark:#14606B;--e-global-color-cknavy:#142940;--e-global-color-ckorange:#F05926;--e-global-color-ckpink:#E6B6D4;--e-global-color-ckcanvas:#FBFBF7;--e-global-color-cksurfsoft:#F6F5EE;--e-global-color-ckttealpale:#F3F7F6;--e-global-color-ckmuted:#5C6B72;--e-global-color-ckline:#E7E8DD;--e-global-color-cklinesoft:#EFF0E9;--e-global-color-ckplaceedge:#C9CBBA;--e-global-typography-primary-font-family:"Josefin Sans";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:0.97em;--e-global-typography-primary-letter-spacing:0.01em;--e-global-typography-secondary-font-family:"Quicksand";--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-letter-spacing:0em;--e-global-typography-text-font-family:"Helvetica Neue";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Quicksand";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-letter-spacing:0.05em;color:#142940;font-family:"Helvetica Neue", Sans-serif;font-size:16px;font-weight:400;line-height:1.6em;}.elementor-kit-224 button,.elementor-kit-224 input[type="button"],.elementor-kit-224 input[type="submit"],.elementor-kit-224 .elementor-button{background-color:#F05926;font-family:"Quicksand", Sans-serif;font-size:14px;font-weight:700;text-transform:none;letter-spacing:0.02em;color:#FFFFFF;border-radius:999px 999px 999px 999px;padding:11px 22px 11px 22px;}.elementor-kit-224 button:hover,.elementor-kit-224 button:focus,.elementor-kit-224 input[type="button"]:hover,.elementor-kit-224 input[type="button"]:focus,.elementor-kit-224 input[type="submit"]:hover,.elementor-kit-224 input[type="submit"]:focus,.elementor-kit-224 .elementor-button:hover,.elementor-kit-224 .elementor-button:focus{background-color:#d94d1f;color:#FFFFFF;}.elementor-kit-224 e-page-transition{background-color:#FFBC7D;}.elementor-kit-224 a{color:#197885;font-family:"Quicksand", Sans-serif;font-weight:700;}.elementor-kit-224 a:hover{color:#14606B;}.elementor-kit-224 h1{color:#142940;font-family:"Josefin Sans", Sans-serif;font-size:52px;font-weight:700;text-transform:uppercase;line-height:0.97em;letter-spacing:0.01em;}.elementor-kit-224 h2{color:#142940;font-family:"Quicksand", Sans-serif;font-size:20px;font-weight:700;text-transform:none;line-height:1.3em;letter-spacing:0em;}.elementor-kit-224 h3{color:#142940;font-family:"Quicksand", Sans-serif;font-size:19px;font-weight:700;text-transform:none;line-height:1.3em;letter-spacing:0em;}.elementor-kit-224 h4{color:#142940;font-family:"Quicksand", Sans-serif;font-size:17px;font-weight:600;text-transform:none;letter-spacing:0em;}.elementor-kit-224 h5{color:#142940;font-family:"Quicksand", Sans-serif;font-size:16px;font-weight:600;text-transform:none;letter-spacing:0em;}.elementor-kit-224 h6{color:#142940;font-family:"Quicksand", Sans-serif;font-size:14.5px;font-weight:600;text-transform:none;letter-spacing:0em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1080px;}.e-con{--container-max-width:1080px;}.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-224 h1{font-size:42px;}.elementor-kit-224 h2{font-size:28px;}.elementor-kit-224 h3{font-size:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-224{font-size:17px;}.elementor-kit-224 h1{font-size:32px;}.elementor-kit-224 h2{font-size:22px;}.elementor-kit-224 h3{font-size:17px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* CK design system — the whole custom-CSS budget, per README.md. Four utility
   classes plus a small set of genuinely global rules (focus ring, radii vars,
   shadow vars) that Elementor's own controls can't express as kit defaults. */

:root {
  --ck-r-sm: 8px;
  --ck-r-input: 12px;
  --ck-r-card: 16px;
  --ck-r-pill: 999px;
  --ck-shadow-card: 0 1px 2px rgba(20,41,64,.04);
  --ck-shadow-float: 0 10px 30px -18px rgba(20,41,64,.28);
}

.ck-photo { border-radius: var(--ck-r-card); overflow: hidden; }
.ck-scrim { background: linear-gradient(180deg, rgba(20,41,64,.05), rgba(20,41,64,.72)); }
.ck-card  { background: #fff; border: 1px solid #E7E8DD; border-radius: var(--ck-r-card);
            box-shadow: var(--ck-shadow-card); padding: 22px; }
.ck-pill  { border-radius: var(--ck-r-pill); }

/* The one focus ring in the system */
.elementor a:focus-visible,
.elementor button:focus-visible,
.elementor input:focus-visible,
.elementor .elementor-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(133,188,183,.4);
  border-color: #197885;
}

/* Transitions — .15s on buttons, chips, inputs only */
.elementor-button, .ck-pill, input, select, textarea {
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

/* Kicker text — Quicksand 600, 11px, .22em tracking, uppercase, muted */
.ck-kicker {
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #5C6B72;
}

/* Boxout — C10. Sage left border, never on a card or top-level sheet */
.ck-boxout {
  background: #F6F5EE;
  border-left: 3px solid #85BCB7;
  border-radius: 0 8px 8px 0;
  padding: 22px 24px;
}

/* Honest empty state — C6 */
.ck-empty {
  border: 1px dashed #C9CBBA;
  background: #FBFBF7;
  border-radius: var(--ck-r-card);
  text-align: center;
  padding: 32px 24px;
}

/* Person / photo placeholder — C4 */
.ck-placeholder {
  background: #DEDED2;
  border: 1px dashed #C9CBBA;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #5C6B72;
  font-family: 'Quicksand', sans-serif;
  font-size: 13.5px;
}
.ck-placeholder.ck-placeholder--circle { border-radius: 50%; }
.ck-placeholder.ck-placeholder--square { border-radius: var(--ck-r-sm); }

/* Quote block — C7 */
.ck-quote {
  background: #F3F7F6;
  border-radius: var(--ck-r-card);
  padding: 24px 28px;
  font-family: 'Quicksand', sans-serif;
  font-weight: 400;
  font-size: 17px;
  color: #142940;
}
.ck-quote cite {
  display: block;
  margin-top: 12px;
  font-style: normal;
  font-size: 13.5px;
  color: #5C6B72;
}
/* Header — transparent + top-fade scrim over a photo hero, compacting to solid
   Navy once scrolled (C14). The scrim is the header's own background, not the
   hero photo's — it protects the white nav text without darkening the whole
   image. .ck-site-header--solid is toggled by a small scroll listener in the
   header template (a scroll-linked state swap has no native Elementor control
   for it — the one deliberate exception to the "no custom code" budget,
   documented here rather than silently added). */
.ck-site-header {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  background: linear-gradient(180deg, rgba(20,41,64,.78) 0%, rgba(20,41,64,.48) 55%, transparent 100%) !important;
  transition: background .2s ease;
}
.ck-site-header.ck-site-header--solid {
  background: #142940 !important;
}
.ck-header-logo img { transition: width .2s ease; }
.ck-site-header--solid .ck-header-logo img { width: 44px !important; }

/* Elementor's own nav-menu widget stylesheet defaults to flex-wrap: wrap,
   which breaks the five-item header nav onto two lines with room to spare
   on one — overriding directly, no control for this found in the widget. */
.ck-site-header .elementor-nav-menu {
  flex-wrap: nowrap !important;
  white-space: nowrap;
}/* End custom CSS */