.elementor-widget-container .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-container .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-10533 .elementor-element.elementor-element-dde9827{--display:grid;--min-height:400px;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--align-items:center;}.elementor-10533 .elementor-element.elementor-element-962c7c5{--display:flex;}.elementor-widget-heading .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-heading .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-10533 .elementor-element.elementor-element-be2e1d7{text-align:center;}.elementor-10533 .elementor-element.elementor-element-be2e1d7 .elementor-heading-title{color:#FFFFFF;}.elementor-10533 .elementor-element.elementor-element-5497f73{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;}.elementor-10533 .elementor-element.elementor-element-76924fc{text-align:center;}.elementor-10533 .elementor-element.elementor-element-76924fc .elementor-heading-title{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 );color:#FFFFFF;}.elementor-10533 .elementor-element.elementor-element-7a87ea1{text-align:center;}.elementor-10533 .elementor-element.elementor-element-7a87ea1 .elementor-heading-title{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 );color:#FFFFFF;}.elementor-10533 .elementor-element.elementor-element-887210b{text-align:center;}.elementor-10533 .elementor-element.elementor-element-887210b .elementor-heading-title{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 );color:#FFFFFF;}.elementor-10533 .elementor-element.elementor-element-ac8ec4a{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-10533 .elementor-element.elementor-element-e58371a{--display:flex;--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-10533 .elementor-element.elementor-element-bc07240{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:25px 25px;--row-gap:25px;--column-gap:25px;--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10533 .elementor-element.elementor-element-e5f91fe{--display:flex;}.elementor-10533 .elementor-element.elementor-element-1770d29 .elementor-heading-title{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );color:#FFFFFF;}.elementor-10533 .elementor-element.elementor-element-d2ad6f2{--display:flex;}.elementor-10533 .elementor-element.elementor-element-ec904cb .elementor-heading-title{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );color:#FFFFFF;}body.elementor-page-10533{padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-widget-container .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-container .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-10533 .elementor-element.elementor-element-dde9827{--min-height:350px;--grid-auto-flow:row;}.elementor-widget-heading .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-heading .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-10533 .elementor-element.elementor-element-76924fc .elementor-heading-title{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-10533 .elementor-element.elementor-element-7a87ea1 .elementor-heading-title{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-10533 .elementor-element.elementor-element-887210b .elementor-heading-title{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-10533 .elementor-element.elementor-element-ac8ec4a{--grid-auto-flow:row;}.elementor-10533 .elementor-element.elementor-element-bc07240{--grid-auto-flow:row;}.elementor-10533 .elementor-element.elementor-element-1770d29 .elementor-heading-title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-10533 .elementor-element.elementor-element-ec904cb .elementor-heading-title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(max-width:767px){.elementor-widget-container .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-container .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-10533 .elementor-element.elementor-element-dde9827{--min-height:250px;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-widget-heading .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-heading .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-10533 .elementor-element.elementor-element-76924fc .elementor-heading-title{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-10533 .elementor-element.elementor-element-7a87ea1 .elementor-heading-title{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-10533 .elementor-element.elementor-element-887210b .elementor-heading-title{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-10533 .elementor-element.elementor-element-ac8ec4a{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-10533 .elementor-element.elementor-element-bc07240{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-10533 .elementor-element.elementor-element-1770d29 .elementor-heading-title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-10533 .elementor-element.elementor-element-ec904cb .elementor-heading-title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}/* Start custom CSS *//* ==========================================================================
   SERVICE PAGE CSS SYSTEM — Explicit Classes (Elementor-friendly)
   Goal: predictable styling (no auto-inheritance surprises), portable via tokens.
   Apply classes in Elementor exactly as listed in the “CLASS MAP” at bottom.
   ========================================================================== */


/* =========================
   1) TOKENS (edit per site)
   ========================= */
:root{
  /* 3-color palette */
    --sp-dark:  #2E3568; /* Selah Navy */
  --sp-mid:   #2F5E3A; /* Selah Sage */
  --sp-light: #F6F7F4; /* Soft Linen */

  /* shared geometry */
  --sp-radius: 18px;

  /* spacing (your specs) */
  --sp-gap-d: 50px;
  --sp-gap-t: 25px;
  --sp-gap-m: 20px;

  --sp-pad-top-d: 100px;
  --sp-pad-x-d:   100px;

  --sp-pad-top-t: 100px;
  --sp-pad-x-t:   50px;

  --sp-pad-top-m: 20px;
  --sp-pad-x-m:   10px;

  /* section margin */
  --sp-margin: 0px;

  /* components */
  --sp-shadow: 0 14px 34px rgba(0,0,0,0.10);
  --sp-border: 1px solid rgba(0,0,0,0.08);

  /* typography (optional) */
  --sp-font: inherit;
}


/* =========================
   2) SECTION GRID (base)
   Each section = ONE grid container
   ========================= */
.sp-grid{
  display: grid;
  gap: var(--sp-gap-d);
  margin: var(--sp-margin);
  padding: var(--sp-pad-top-d) var(--sp-pad-x-d);
  align-items: start;
  border-radius: 0;
}

/* Elementor wrapper compatibility (gap may be applied inside e-con-inner) */
.sp-grid > .e-con-inner{
  gap: inherit;
}

/* Tablet */
@media (max-width:1024px){
  .sp-grid{
    gap: var(--sp-gap-t);
    padding: var(--sp-pad-top-t) var(--sp-pad-x-t);
  }
}

/* Phone */
@media (max-width:767px){
  .sp-grid{
    gap: var(--sp-gap-m);
    padding: var(--sp-pad-top-m) var(--sp-pad-x-m);
  }
}


/* =========================
   3) SECTION BACKGROUNDS (explicit)
   Apply ONE of these to each section container
   ========================= */
.sp-section-light{
  background: var(--sp-light);
  color: var(--sp-dark);
}

.sp-section-mid{
  background: var(--sp-mid);
  color: #ffffff;
}

.sp-section-dark{
  background: var(--sp-dark);
  color: #ffffff;
}


/* =========================
   4) TYPOGRAPHY (simple + explicit)
   No classes needed on headings/text by default
   ========================= */
.sp-grid h1,
.sp-grid h2,
.sp-grid h3,
.sp-grid h4,
.sp-grid h5,
.sp-grid h6{
  font-family: var(--sp-font);
  color: inherit;
  line-height: 1.15;
  margin: 0 0 14px 0;
}

/* Elementor Heading widget title */
.sp-grid .elementor-heading-title{
  color: inherit !important;
}

/* Text editor widget content */
.sp-grid .elementor-widget-text-editor,
.sp-grid .elementor-widget-text-editor *{
  color: inherit !important;
}

/* Optional: keep paragraph slightly muted */
.sp-grid .elementor-widget-text-editor p{
  opacity: 0.85;
}

/* Optional: lists */
.sp-grid .elementor-widget-text-editor li{
  opacity: 0.85;
}

/* Generic paragraphs/lists (non-Elementor Text Editor) */
.sp-grid p,
.sp-grid li{
  color: inherit;
  opacity: 0.85;
  line-height: 1.55;
}

@media (max-width:767px){
  .sp-grid h2{ margin-bottom: 10px; }
  .sp-grid p{ margin-bottom: 12px; }
}

/* Optional explicit text overrides (use only when needed) */
.sp-text-dark{ color: var(--sp-dark) !important; opacity: 1 !important; }
.sp-text-light{ color: #ffffff !important; opacity: 1 !important; }
.sp-text-muted{ opacity: 0.70 !important; }


/* =========================
   5) TOP SECTION LAYOUT (containers)
   sp-left / sp-right are child containers in your grid.
   ========================= */

/* Right column: stack (cards/menu) with consistent spacing */
.sp-right{
  display: grid;
  gap: 20px;
  margin: 0;
  padding: 0;
  align-items: start;
}

/* Left column: simple content stack */
.sp-left{
  display: grid;
  gap: 0px;
  margin: 0;
  padding: 0;
  align-items: start;
}


/* =========================
   6) CARDS (explicit variants)
   Use sp-card + optionally sp-card-dark or sp-card-mid
   ========================= */
.sp-card{
  background: #ffffff;
  color: var(--sp-dark);

  border-radius: var(--sp-radius);
  border: var(--sp-border);
  box-shadow: var(--sp-shadow);

  padding: 22px;
}

/* Optional card variants */
.sp-card-dark{
  background: var(--sp-dark);
  color: #ffffff;
}

.sp-card-mid{
  background: var(--sp-mid);
  color: #ffffff;
}

/* Ensure headings/text inside cards follow card color (Elementor may set widget colors) */
.sp-card :where(h1,h2,h3,h4,h5,h6){
  color: inherit !important;
}
.sp-card :where(p,li,span){
  color: inherit !important;
  opacity: 0.85;
}


/* =========================
   7) BUTTONS (explicit variants)
   NOTE: Elementor applies your CSS classes to the WIDGET wrapper, not the <a>.
   Add classes to the Button widget Advanced > CSS Classes:
   - sp-btn (base)
   - sp-btn-light (variant)
   - sp-btn-dark (variant) [optional]
   ========================= */

/* Base button styling (targets the <a> inside the widget wrapper) */
.elementor-widget-button.sp-btn .elementor-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 14px 18px;
  border-radius: var(--sp-radius);
  border: 1px solid transparent;

  background: var(--sp-mid);
  color: #ffffff;

  text-decoration: none;
  cursor: pointer;

  transition: transform 160ms ease, opacity 160ms ease, background 160ms ease, border-color 160ms ease;
}

.elementor-widget-button.sp-btn .elementor-button:hover{
  transform: translateY(-1px);
  opacity: 0.96;
}

/* Light variant */
.elementor-widget-button.sp-btn-light .elementor-button{
  background: #ffffff !important;
  color: var(--sp-dark) !important;
  border-color: rgba(0,0,0,0.12) !important;
}

.elementor-widget-button.sp-btn-light .elementor-button .elementor-button-text,
.elementor-widget-button.sp-btn-light .elementor-button *{
  color: var(--sp-dark) !important;
  opacity: 1 !important;
}

.elementor-widget-button.sp-btn-light .elementor-button:hover{
  background: #f5f5f5 !important;
  border-color: rgba(0,0,0,0.18) !important;
}

/* Dark variant (optional) */
.elementor-widget-button.sp-btn-dark .elementor-button{
  background: var(--sp-dark) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.18) !important;
}

.elementor-widget-button.sp-btn-dark .elementor-button .elementor-button-text,
.elementor-widget-button.sp-btn-dark .elementor-button *{
  color: #ffffff !important;
  opacity: 1 !important;
}

.elementor-widget-button.sp-btn-dark .elementor-button:hover{
  background: color-mix(in srgb, var(--sp-dark) 88%, black) !important;
  border-color: rgba(255,255,255,0.25) !important;
}


/* ==========================================================================
   EAEL Advanced Menu — Explicit “Pill List” Style
   Applies to EAEL Advanced Menu widgets site-wide.
   If you prefer to scope to only one widget, add a wrapper class and prefix.
   ========================================================================= */

/* 1) Kill any weird container background/padding that creates the dark panel */
.elementor-widget-eael-advanced-menu .eael-advanced-menu-container{
  background: transparent !important;
  padding: 0 !important;
}

/* Remove potential overlays */
.elementor-widget-eael-advanced-menu .eael-advanced-menu-container::before,
.elementor-widget-eael-advanced-menu .eael-advanced-menu-container::after,
.elementor-widget-eael-advanced-menu ul.eael-advanced-menu::before,
.elementor-widget-eael-advanced-menu ul.eael-advanced-menu::after{
  content: none !important;
}

/* 2) Base list layout */
.elementor-widget-eael-advanced-menu ul.eael-advanced-menu{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  gap: 10px !important;
}

/* 3) List items */
.elementor-widget-eael-advanced-menu ul.eael-advanced-menu > li{
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* 4) Links: explicit colors, no inheritance */
.elementor-widget-eael-advanced-menu ul.eael-advanced-menu > li > a{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  padding: 14px 16px !important;
  border-radius: var(--sp-radius) !important;

  background: #e7edf3 !important;   /* light pill */
  color: var(--sp-dark) !important; /* dark text */

  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08) !important;/* End custom CSS */