.elementor-kit-6{--e-global-color-primary:#002E5D;--e-global-color-secondary:#66829E;--e-global-color-text:#33587D;--e-global-color-accent:#1A3859;--e-global-color-936650d:#011834;--e-global-color-c71e8a5:#FFFFFF;--e-global-color-8e4397b:#E7ECF0;--e-global-color-4e61140:#DCE3E9;--e-global-color-6c36655:#BBC7D4;--e-global-color-5b7c9ef:#99ABBE;--e-global-color-d4868dc:#6B7885;--e-global-color-3087e97:#5C6772;--e-global-color-be9156b:#2E3339;--e-global-color-b355147:#000000;--e-global-color-2a714a4:#F7BB29;--e-global-color-0a4b3fb:#E8B027;--e-global-typography-primary-font-family:"Aptos";--e-global-typography-primary-font-size:60px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:120%;--e-global-typography-secondary-font-family:"Aptos";--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:130%;--e-global-typography-text-font-family:"Aptos";--e-global-typography-text-font-size:20px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:130%;--e-global-typography-accent-font-family:"Aptos";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-line-height:100%;color:var( --e-global-color-936650d );font-family:"Aptos", Arial, Sans-serif;font-size:20px;font-weight:400;line-height:130%;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-2a714a4 );font-family:"Aptos", Arial, Sans-serif;font-size:16px;font-weight:400;text-decoration:none;line-height:100%;text-shadow:0px 0px 0px rgba(0, 0, 0, 0);color:var( --e-global-color-936650d );border-radius:0px 0px 0px 0px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-0a4b3fb );color:var( --e-global-color-936650d );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:10px;}.elementor-kit-6 a{color:var( --e-global-color-936650d );font-family:"Aptos", Arial, Sans-serif;font-size:20px;font-weight:400;line-height:130%;}.elementor-kit-6 a:hover{color:var( --e-global-color-936650d );}.elementor-kit-6 h1{color:var( --e-global-color-c71e8a5 );font-family:"Aptos", Arial, Sans-serif;font-size:60px;font-weight:400;line-height:120%;}.elementor-kit-6 h2{color:var( --e-global-color-936650d );font-family:"Aptos", Arial, Sans-serif;font-size:40px;font-weight:400;line-height:120%;}.elementor-kit-6 h3{color:var( --e-global-color-936650d );font-family:"Aptos", Arial, Sans-serif;font-size:28px;font-weight:400;text-transform:uppercase;line-height:130%;}.elementor-kit-6 h4{color:var( --e-global-color-936650d );font-family:"Aptos", Arial, Sans-serif;font-size:28px;font-weight:400;text-transform:uppercase;line-height:130%;}.elementor-kit-6 h5{color:var( --e-global-color-936650d );font-family:"Aptos", Arial, Sans-serif;font-size:28px;font-weight:400;line-height:130%;}.elementor-kit-6 h6{color:var( --e-global-color-936650d );font-family:"Aptos", Arial, Sans-serif;font-weight:400;line-height:130%;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;}.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);}@media(max-width:1024px){.elementor-kit-6{font-size:18px;}.elementor-kit-6 a{font-size:18px;}.elementor-kit-6 h1{font-size:40px;}.elementor-kit-6 h2{font-size:28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6 h5{font-size:24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */a:hover {
	text-decoration-line: underline;
	text-decoration-color: #F7BB29;
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}

/* .hyperlink {
	text-decoration-line: underline;
	text-decoration-color: #F7BB29;
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
} */

.hyperlink a {
    text-decoration: none !important;
    border-bottom: 2px solid #F7BB29;
}

.quote-link a {
    font-size: 28px;
    text-decoration: none !important;
    border-bottom: 2px solid #F7BB29;
}

.learn-more {
    text-decoration: none !important;
    border-bottom: 2px solid #F7BB29;
}

.fit-content {
  width: fit-content;
}

/* Underline all text links inside Blog CPT content */
body.single-blog .elementor-widget-theme-post-content a:not(.elementor-button),
body.post-type-archive-blog .elementor-widget-theme-post-content a:not(.elementor-button),
body.single-blog .elementor-widget-text-editor a:not(.elementor-button),
body.post-type-archive-blog .elementor-widget-text-editor a:not(.elementor-button) {
  text-decoration: underline !important;
}

.elementor-nav-menu a,
.elementor-nav-menu a:hover,
.elementor-nav-menu a:focus {
    line-height: 100%;
}

.elementor-nav-menu--dropdown {
    margin-left: 15px !important;
}

@media (min-width: 1025px) and (max-width: 1366px) {
  .elementor-nav-menu--main .elementor-nav-menu a, .elementor-nav-menu--main .elementor-nav-menu a.highlighted, .elementor-nav-menu--main .elementor-nav-menu a:focus, .elementor-nav-menu--main .elementor-nav-menu a:hover {
      font-size: 16px !important;
  }
}

@media (min-width: 1187px) and (max-width: 1267px) {
  .elementor-nav-menu--main .elementor-nav-menu a, .elementor-nav-menu--main .elementor-nav-menu a.highlighted, .elementor-nav-menu--main .elementor-nav-menu a:focus, .elementor-nav-menu--main .elementor-nav-menu a:hover {
      padding: 13px 15px;
  }
}

@media (min-width: 1025px) and (max-width: 1186px) {
  .elementor-nav-menu--main .elementor-nav-menu a, .elementor-nav-menu--main .elementor-nav-menu a.highlighted, .elementor-nav-menu--main .elementor-nav-menu a:focus, .elementor-nav-menu--main .elementor-nav-menu a:hover {
      padding: 13px 10px;
  }
}

/* =========================================================
   SPA NAV — Keep Elementor level-2 dropdown behavior
   Convert ONLY level 3+ into an in-flow accordion
   Requires menu widget class: .spa-nav
   ========================================================= */

/* Make sure nested lists can sit in-flow under their parent */
.spa-nav .elementor-nav-menu .sub-menu > li {
  position: relative;
}

/* (Optional but recommended) make submenu anchors full-width */
.spa-nav .elementor-nav-menu .sub-menu > li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

/* =========================================================
   LEVEL 3+: in-flow accordion WITHOUT display toggling
   (prevents flashing caused by Elementor hover rules)
   ========================================================= */

/* Always "display:block" so Elementor hover can't fight us */
.spa-nav .elementor-nav-menu .sub-menu .sub-menu {
  display: block !important;          /* critical */
  position: static !important;        /* in-flow */
  overflow: hidden;                   /* enables max-height collapse */
  max-height: 0;                      /* collapsed */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  margin: 6px 0 10px 0;
  padding-left: 14px;
  border-left: 1px solid rgba(255,255,255,.18);
  background: transparent !important;
  box-shadow: none !important;

  transition: max-height .22s ease, opacity .18s ease, visibility .18s ease;
}

/* Open state (pushes siblings down, indented) */
.spa-nav .elementor-nav-menu .sub-menu li.is-open > .sub-menu {
  max-height: 800px;                  /* big enough for your submenu */
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Optional caret rotation (if you're using it) */
.spa-nav .elementor-nav-menu .sub-menu > li.menu-item-has-children > a::after{
  content: "›";
  font-size: 14px;
  opacity: .75;
  transform: rotate(0deg);
  transition: transform .2s ease;
}

.spa-nav .elementor-nav-menu .sub-menu > li.is-open.menu-item-has-children > a::after{
  transform: rotate(90deg);
}

/* ---------------------------------------------------------
   Keep level-2 dropdown open while interacting (JS adds class)
   --------------------------------------------------------- */
.spa-nav .elementor-nav-menu > li.spa-hold-open > .sub-menu{
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

/* ---------------------------------------------------------
   Fix truncation of level-3 items (raise max-height)
   --------------------------------------------------------- */
.spa-nav .elementor-nav-menu .sub-menu .sub-menu{
  max-height: 0;             /* collapsed */
}

.spa-nav .elementor-nav-menu .sub-menu li.is-open > .sub-menu{
  max-height: 2000px;        /* bigger so long labels don't clip */
}

/* If any wrapper is clipping, this helps */
.spa-nav .elementor-nav-menu .sub-menu{
  overflow: visible !important;
}

/* ---------------------------------------------------------
   Auto-expand dropdown width WITHOUT changing display
   (prevents Elementor from showing all submenus on load)
   --------------------------------------------------------- */

/* Level-2 dropdown: allow it to size to content */
.spa-nav .elementor-nav-menu > li > .sub-menu {
  width: max-content !important;     /* key */
  min-width: 260px;                 /* optional baseline */
  max-width: 90vw;                  /* safety */
}

/* Let long labels define width (no wrap) */
.spa-nav .elementor-nav-menu > li > .sub-menu a {
  white-space: nowrap;
}

/* Level-3 accordion list: also allow long labels to define width */
.spa-nav .elementor-nav-menu > li > .sub-menu .sub-menu {
  width: max-content !important;
  max-width: 90vw;
}

.spa-nav .elementor-nav-menu .sub-menu .sub-menu {
  padding-left: 6px;
  margin-left: 2px;
  border-left: none; /* remove divider entirely */
}

@media (min-width: 1024px) {
  .spa-nav .elementor-nav-menu .sub-menu .sub-menu > li > a {
    font-size: 16px;
    line-height: 1.3;
  }
}

/* ---------------------------------------------------------
   Normalize level-2 row height (with/without children)
   --------------------------------------------------------- */

/* Force all level-2 links to have the same vertical padding */
.spa-nav .elementor-nav-menu > li > .sub-menu > li > a{
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  line-height: 1.2 !important;
}

/* If Elementor adds an indicator span/icon, prevent it from inflating height */
.spa-nav .elementor-nav-menu > li > .sub-menu > li.menu-item-has-children > a::after{
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 0 0 10px !important;
}

/* ---------------------------------------------------------
   Keep accordion spacing on the nested UL, not the parent row
   --------------------------------------------------------- */

/* Remove any top margin that makes the parent row look taller */
.spa-nav .elementor-nav-menu .sub-menu .sub-menu{
  margin-top: 6px !important;      /* keep small separation */
  margin-bottom: 10px !important;
}

/* Optional: if you still see the parent row "breathing", remove margins entirely */
.spa-nav .elementor-nav-menu .sub-menu .sub-menu{ margin: 0 !important; }

/* Mobile + tablet only */
@media (max-width: 1023px) {
  .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item {
    font-size: 1.25em;
  }
}

.elementor-field-group .elementor-field-textual:focus {
    box-shadow: none;
}

/* layout */
.spa-social-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  text-decoration:none !important;
}

/* icon */
.spa-social-icon{
  color:#ffffff;
  font-size:16px;
  line-height:1;
}

/* underline only the text */
.spa-social-link:hover .spa-social-text{
  text-decoration: underline;
  text-decoration-color:#F7BB29;
  text-decoration-thickness:2px;
  text-underline-offset:6px;
}

/* prevent Elementor pointer effects */
.icon-linkedin > a::before,
.icon-facebook > a::before,
.icon-youtube > a::before,
.icon-instagram > a::before,
.icon-linkedin > a::after,
.icon-facebook > a::after,
.icon-youtube > a::after,
.icon-instagram > a::after{
  display:none !important;
  content:none !important;
}

/* Form Styling */
.elementor-form .elementor-field,
.elementor-form .elementor-field-textual{
  padding-left: 0 !important;
}

/* Textarea needs top padding so the placeholder sits lower */
.elementor-form textarea.elementor-field-textual{
  padding-top: 10px !important;
  padding-right: 0 !important;
  padding-bottom: 10px !important;
}

/* 1) Force submit field to be its own row */
.elementor-form .elementor-field-type-submit{
  flex: 0 0 100% !important;
  width: 100% !important;
}

/* 2) Make the wrapper a flex row so we can right-align the button */
.elementor-form .elementor-field-type-submit .elementor-field-group{
  display: flex !important;
  justify-content: flex-end !important;
}

/* 3) Override Elementor's 100% button width */
.elementor-form .elementor-field-type-submit .elementor-button{
  width: 10% !important;
  min-width: 100px;
  flex: 0 0 auto !important; /* don't stretch */
}

.elementor-form .elementor-field-group .elementor-select-wrapper select{
  font-size: 15px !important;
}

/* Elementor acceptance checkbox inline alignment */
.elementor-field-type-acceptance .elementor-field-subgroup {
  display: flex;
  align-items: flex-start; /* keeps checkbox aligned to first line */
}

.elementor-field-type-acceptance .elementor-field-option {
  display: flex;
  align-items: flex-start;
  gap: 10px; /* space between checkbox and text */
}

.elementor-field-type-acceptance input[type="checkbox"] {
  margin-top: 4px; /* fine-tune vertical alignment */
  flex-shrink: 0;
}

.elementor-field-type-acceptance label {
  margin: 0;
  line-height: 1.4;
}

/* Privacy Rights Request form: Override default submit button width */
#privacy_rights_request .elementor-field-type-submit .elementor-button{
  width: 30% !important;
}

/* C-UAS form: Override default submit button width */
#c_uas .elementor-field-type-submit .elementor-button{
  width: 30% !important;
}

/* Footer newsletter: keep email + submit on the same row */
#footer_newsletter .elementor-form-fields-wrapper, #thought_leadership_newsletter .elementor-form-fields-wrapper{
  flex-wrap: nowrap !important;      /* prevent wrapping */
  align-items: flex-end;
}

/* Undo the global "submit takes full row" rule */
#footer_newsletter .elementor-field-type-submit, #thought_leadership_newsletter .elementor-field-type-submit{
  flex: 0 0 auto !important;
  width: auto !important;
}

/* Make the email field take remaining space */
#footer_newsletter .elementor-field-type-email, #thought_leadership_newsletter .elementor-field-type-email{
  flex: 1 1 auto !important;
  min-width: 0; /* critical in flex layouts */
}

/* Keep button sized but not forcing a line break */
#footer_newsletter .elementor-field-type-submit .elementor-button, #thought_leadership_newsletter .elementor-field-type-submit .elementor-button{
  width: auto !important;
  min-width: 100px; /* keep your design */
  white-space: nowrap;
}

/* Remove underline on hover for Post Info term links */
.elementor-post-info__terms-list-item:hover {
  text-decoration: none;
}

.spa-anchor-target {
  scroll-margin-top: 90px;
}

.right-arrow-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.right-arrow-list li {
  position: relative;
  margin-bottom: 16px;
  padding-left: 34px;
  line-height: 130%;
}
.right-arrow-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 18px;
  height: 18px;
  background: url("/wp-content/uploads/2025/12/right_arrow_24px.png") no-repeat center / contain;
}

/* Second-level dot list */
.right-arrow-list ul {
  list-style: disc;
  margin-top: 12px;
  margin-left: 24px;
  padding-left: 16px;
}

.right-arrow-list ul li {
  padding-left: 0;
  margin-bottom: 8px;
}

.right-arrow-list ul li::before {
  content: none;
}

.check-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.check-list li {
  position: relative;
  margin-bottom: 16px;
  padding-left: 34px;
  line-height: 130%;
}
.check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 18px;
  height: 18px;
  background: url("/wp-content/uploads/2026/01/check_24px.png") no-repeat center / contain;
}

/* Second-level dot list */
.check-list ul {
  list-style: disc;
  margin-top: 12px;
  margin-left: 24px;
  padding-left: 16px;
}

.check-list ul li {
  padding-left: 0;
  margin-bottom: 8px;
}

.check-list ul li::before {
  content: none;
}

.main-btn-dark-bkgd-frame .elementor-button {
  position: relative;
  display: inline-block;
  background-color: #F7BB29;
  color: #011834;
  padding: 16px 32px;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color 0.25s ease;
  text-decoration: none;
  overflow: visible;
}

.main-btn-dark-bkgd-frame .elementor-button:hover {
  background-color: #E8B027;
  color: #011834;
  text-decoration: none;
}

/* -------- Corner brackets (rest state) + animated border -------- */

.main-btn-dark-bkgd-frame .elementor-button::before,
.main-btn-dark-bkgd-frame .elementor-button::after,
.main-btn-dark-bkgd-frame .elementor-button .elementor-button-content-wrapper::before,
.main-btn-dark-bkgd-frame .elementor-button .elementor-button-content-wrapper::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border: 1px solid #ffffff;
  pointer-events: none;
  transition: width 0.35s ease, height 0.35s ease;
}

/* top-left */
.main-btn-dark-bkgd-frame .elementor-button::before {
  top: -4px;
  left: -4px;
  border-right: none;
  border-bottom: none;
}

/* bottom-right */
.main-btn-dark-bkgd-frame .elementor-button::after {
  bottom: -4px;
  right: -4px;
  border-left: none;
  border-top: none;
}

/* top-right */
.main-btn-dark-bkgd-frame .elementor-button .elementor-button-content-wrapper::before {
  top: -4px;
  right: -4px;
  border-left: none;
  border-bottom: none;
}

/* bottom-left */
.main-btn-dark-bkgd-frame .elementor-button .elementor-button-content-wrapper::after {
  bottom: -4px;
  left: -4px;
  border-right: none;
  border-top: none;
}

/* On hover: extend each corner L-shape toward the center of each side */
.main-btn-dark-bkgd-frame .elementor-button:hover::before,
.main-btn-dark-bkgd-frame .elementor-button:hover::after,
.main-btn-dark-bkgd-frame .elementor-button:hover .elementor-button-content-wrapper::before,
.main-btn-dark-bkgd-frame .elementor-button:hover .elementor-button-content-wrapper::after {
  width: calc(50% + 5px);
  height: calc(50% + 5px);
}

.main-btn-light-bkgd-frame .elementor-button {
  position: relative;
  display: inline-block;
  background-color: #F7BB29;
  color: #011834;
  padding: 16px 32px;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color 0.25s ease;
  text-decoration: none;
  overflow: visible;
}

.main-btn-light-bkgd-frame .elementor-button:hover {
  background-color: #E8B027;
  color: #011834;
  text-decoration: none;
}

/* -------- Corner brackets (rest state) + animated border -------- */

.main-btn-light-bkgd-frame .elementor-button::before,
.main-btn-light-bkgd-frame .elementor-button::after,
.main-btn-light-bkgd-frame .elementor-button .elementor-button-content-wrapper::before,
.main-btn-light-bkgd-frame .elementor-button .elementor-button-content-wrapper::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border: 1px solid #011834;
  pointer-events: none;
  transition: width 0.35s ease, height 0.35s ease;
}

/* top-left */
.main-btn-light-bkgd-frame .elementor-button::before {
  top: -4px;
  left: -4px;
  border-right: none;
  border-bottom: none;
}

/* bottom-right */
.main-btn-light-bkgd-frame .elementor-button::after {
  bottom: -4px;
  right: -4px;
  border-left: none;
  border-top: none;
}

/* top-right */
.main-btn-light-bkgd-frame .elementor-button .elementor-button-content-wrapper::before {
  top: -4px;
  right: -4px;
  border-left: none;
  border-bottom: none;
}

/* bottom-left */
.main-btn-light-bkgd-frame .elementor-button .elementor-button-content-wrapper::after {
  bottom: -4px;
  left: -4px;
  border-right: none;
  border-top: none;
}

/* On hover: extend each corner L-shape toward the center of each side */
.main-btn-light-bkgd-frame .elementor-button:hover::before,
.main-btn-light-bkgd-frame .elementor-button:hover::after,
.main-btn-light-bkgd-frame .elementor-button:hover .elementor-button-content-wrapper::before,
.main-btn-light-bkgd-frame .elementor-button:hover .elementor-button-content-wrapper::after {
  width: calc(50% + 5px);
  height: calc(50% + 5px);
}

.bkgd-blur {
  backdrop-filter: blur(16.299999237060547px);
}

.hover-card a,
.hover-card a:hover,
.hover-card a:focus {
    text-decoration: none !important;
}

.hover-card:hover .hover-card-btn .elementor-button {
  background-color: #002E5D !important;
  border-color: #002E5D !important;
  color: #011834;
}

.hover-card:hover .hover-card-btn i,
.hover-card:hover .hover-card-btn svg {
  fill: #ffffff;
  color: #ffffff;
  text-decoration: none !important;
}

/* Dashed divider between loop grid items */
.spa-loop-dashed .elementor-loop-item,
.spa-loop-dashed .e-loop-item {
  border-bottom: 1px dashed rgba(1, 24, 52, 0.4);
  padding-bottom: 50px;
  margin-bottom: 50px;
}

/* remove last divider */
.spa-loop-dashed .elementor-loop-item:last-child,
.spa-loop-dashed .e-loop-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.reveal-section {
  position: relative;
  --spark-gap: 30px;       /* distance from spark to where lines start */
  --line-color: rgba(255, 255, 255, 0.55);
  z-index: 0;
}

/* Top & bottom outer lines using same pattern as crosshair */
.reveal-section::before,
.reveal-section::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-image: repeating-linear-gradient(
    to right,
    var(--line-color) 0px,
    var(--line-color) 1px,   /* dot length */
    transparent 1px,
    transparent 4px          /* gap length */
  );
  pointer-events: none;
  z-index: 1; /* above bg, under labels/spark if needed */
}

/* Top line */
.reveal-section::before {
  top: 0;
}

/* Bottom line */
.reveal-section::after {
  bottom: 0;
}

.card-height {
  height: 400px !important;
}

.reveal-card {
  position: relative;
  overflow: hidden;
  transition: background-color .3s ease;
  text-decoration: none !important;
}

.reveal-card:hover {
  background-color: #E7ECF0;
}

.reveal-card-default {
  position: relative;
  z-index: 2;
  opacity: 1;
  pointer-events: auto;
  transition: opacity .3s ease;
}

.reveal-card-hover {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}

.reveal-card:hover .reveal-card-default {
  opacity: 0;
  pointer-events: none;
}

.reveal-card:hover .reveal-card-hover {
  opacity: 1;
  pointer-events: auto;
}

/* BASE background – keep this on the outer grid container */
.reveal-bkgd {
  position: relative;
  overflow: hidden;
  background-image: url('/wp-content/uploads/2026/01/reveal_sea_1440x800.jpg'); /* default */
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  will-change: opacity; /* performance hint */
}

/* Crossfade overlay */
.reveal-bkgd::before {
  content: "";
  position: absolute;
  inset: 0;

  /* Next image gets injected here from JS */
  background-image: var(--reveal-next-bg, none);
  background-size: inherit;
  background-position: inherit;
  background-repeat: inherit;

  opacity: 0;
  pointer-events: none;

  /* Smooth, elegant fade */
  transition: opacity 0.9s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity; /* performance hint */
}

/* When JS adds this class, the overlay fades in */
.reveal-bkgd.is-fading::before {
  opacity: 1;
}

/* Crosshair overlay fills the section */
.crosshair-lines,
.crosshair-lines-inner {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* =========================
   VERTICAL segments (top & bottom)
   ========================= */
.crosshair-lines::before,
.crosshair-lines::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 1px; /* must be 1px for gradient, not 0 */
  background-image: repeating-linear-gradient(
    to bottom,
    var(--line-color) 0px,
    var(--line-color) 1px,
    transparent 1px,
    transparent 4px
  );
  transform: translateX(-0.5px);
}

/* Top vertical segment – from top edge to just before spark */
.crosshair-lines::before {
  top: 0;
  height: calc(50% - var(--spark-gap));
}

/* Bottom vertical segment – from just after spark to bottom edge */
.crosshair-lines::after {
  bottom: 0;
  height: calc(50% - var(--spark-gap));
}

/* =========================
   HORIZONTAL segments (left & right)
   ========================= */
.crosshair-lines-inner::before,
.crosshair-lines-inner::after {
  content: "";
  position: absolute;
  top: 50%;
  height: 1px; /* 1px high for gradient */
  background-image: repeating-linear-gradient(
    to right,
    var(--line-color) 0px,
    var(--line-color) 1px,
    transparent 1px,
    transparent 4px
  );
  transform: translateY(-0.5px);
}

/* Left horizontal segment – from left edge to just before spark */
.crosshair-lines-inner::before {
  left: 0;
  width: calc(50% - var(--spark-gap));
}

/* Right horizontal segment – from just after spark to right edge */
.crosshair-lines-inner::after {
  right: 0;
  width: calc(50% - var(--spark-gap));
}

@media (min-width: 768px) {
  .spa-cap-row {
    cursor: pointer;
    transition: background-color 0.25s ease;
    position: relative;
  }
  .spa-cap-row:hover {
    background-color: #99abbe26;
    text-decoration: none !important;
  }
  .spa-cap-row .spa-cap-image {
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .spa-cap-row:hover .spa-cap-image {
    opacity: 1;
  }
}

/* ==========================================
   WHO WE SERVE – 3x2 dotted grid overlay
   ========================================== */
.wws-grid {
  position: relative;
  --spark-gap: 30px;       /* distance from spark to where lines start */
  --line-color: rgba(255, 255, 255, 0.55);
  z-index: 0;
}

/* Top & bottom outer lines */
.wws-grid::before,
.wws-grid::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-image: repeating-linear-gradient(
    to right,
    var(--line-color) 0px,
    var(--line-color) 1px,   /* dot length */
    transparent 1px,
    transparent 4px          /* gap length */
  );
  pointer-events: none;
  z-index: 1; /* above bg, under labels/spark if needed */
}

/* Top line */
.wws-grid::before {
  top: 0;
}

/* Bottom line */
.wws-grid::after {
  bottom: 0;
  /* width: 66.66%; */
}

/* Outer vertical lines: full-height left, top→mid on right */
.wws-grid-outer-verts {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* Shared style for both outer verticals */
.wws-grid-outer-verts::before,
.wws-grid-outer-verts::after {
  content: "";
  position: absolute;
  width: 1px;
  background-image: repeating-linear-gradient(
    to bottom,
    var(--line-color) 0px,
    var(--line-color) 1px,
    transparent 1px,
    transparent 4px
  );
}

/* LEFT edge – full height */
.wws-grid-outer-verts::before {
  left: 0;
  top: 0;
  height: 100%;
}

/* RIGHT edge */
.wws-grid-outer-verts::after {
  right: 0;
  top: 0;
  height: 100%;
}

/* Overlay that actually draws all the vertical lines */
.wws-grid-lines {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* =========================
   VERTICAL segments (top & bottom)
   Two verticals: at 33.33% and 66.66%
   ========================= */
.wws-grid-lines::before,
.wws-grid-lines::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  /* two repeating gradients – one for each vertical line */
  background-image:
    repeating-linear-gradient(
      to bottom,
      var(--line-color) 0px,
      var(--line-color) 1px,
      transparent 1px,
      transparent 4px
    ),
    repeating-linear-gradient(
      to bottom,
      var(--line-color) 0px,
      var(--line-color) 1px,
      transparent 1px,
      transparent 4px
    );
  background-repeat: no-repeat;
  /* 1px wide, full height of this pseudo-element */
  background-size:
    1px 100%,
    1px 100%;
  /* positions of the two verticals */
  background-position:
    33.33% 0,
    66.66% 0;
}

/* Top vertical segments – from top edge down to just before sparks */
.wws-grid-lines::before {
  top: 0;
  height: calc(50% - var(--spark-gap));
}

/* Bottom vertical segments – from just after sparks to bottom edge */
.wws-grid-lines::after {
  bottom: 0;
  height: calc(50% - var(--spark-gap));
}

/* =========================
   HORIZONTAL segments (left & right)
   ========================= */

/* Shared mid-line position for ALL horizontal pieces */
.wws-grid-lines-inner {
  position: absolute;
  inset: 0;
  pointer-events: none;

  --mid-y: calc(50% - 0.5px);

  /* center horizontal segment between the two sparks */
  background-image: repeating-linear-gradient(
    to right,
    var(--line-color) 0px,
    var(--line-color) 1px,
    transparent 1px,
    transparent 4px
  );
  background-repeat: no-repeat;
  background-size: calc(33.33% - (2 * var(--spark-gap))) 1px;

  /* default */
  background-position: calc(33.333% + var(--spark-gap)) var(--mid-y);
}

@media (min-width: 1025px) and (max-width: 1040px) {
  .wws-grid-lines-inner {
    background-position: calc(44.5% + var(--spark-gap)) var(--mid-y);
  }
}

@media (min-width: 1041px) and (max-width: 1224px) {
  .wws-grid-lines-inner {
    background-position: calc(45% + var(--spark-gap)) var(--mid-y);
  }
}

@media (min-width: 1225px) and (max-width: 1439px) {
  .wws-grid-lines-inner {
    background-position: calc(45.5% + var(--spark-gap)) var(--mid-y);
  }
}

@media (min-width: 1440px) and (max-width: 1549px)  {
  .wws-grid-lines-inner {
    background-position: calc(46% + var(--spark-gap)) var(--mid-y);
  }
}

@media (min-width: 1550px) and (max-width: 1899px)  {
  .wws-grid-lines-inner {
    background-position: calc(46.5% + var(--spark-gap)) var(--mid-y);
  }
}

@media (min-width: 1900px) {
  .wws-grid-lines-inner {
    background-position: calc(47% + var(--spark-gap)) var(--mid-y);
  }
}

.wws-grid-lines-inner::before,
.wws-grid-lines-inner::after {
  content: "";
  position: absolute;
  top: var(--mid-y);       /* SAME baseline as the center segment */
  height: 1px;
  background-image: repeating-linear-gradient(
    to right,
    var(--line-color) 0px,
    var(--line-color) 1px,
    transparent 1px,
    transparent 4px
  );
  transform: none;
}

/* Left horizontal segment – from left edge to just before spark */
.wws-grid-lines-inner::before {
  left: 0;
  width: calc(33.33% - var(--spark-gap));
}

/* Right horizontal segment – from just after spark to right edge */
.wws-grid-lines-inner::after {
  right: 0;
  width: calc(33.33% - var(--spark-gap));
}

/* ==========================================
   4x2 dotted grid overlay
   ========================================== */
.grid-4x2 {
  position: relative;
  --spark-gap: 30px;       /* distance from spark to where lines start */
  --line-color: rgba(255, 255, 255, 0.55);
  z-index: 0;
}

/* Top & bottom outer lines
.grid-4x2::before,
.grid-4x2::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-image: repeating-linear-gradient(
    to right,
    var(--line-color) 0px,
    var(--line-color) 1px,   /* dot length */
    transparent 1px,
    transparent 4px          /* gap length */
  );
  pointer-events: none;
  z-index: 1; /* above bg, under labels/spark if needed */
} */

/* Top line */
.grid-4x2::before {
  top: 0;
}

/* Bottom line */
.grid-4x2::after {
  bottom: 0;
  /* width: 66.66%; */
}

/* Outer vertical lines: full-height left, top→mid on right */
.grid-4x2-outer-verts {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* Shared style for both outer verticals */
.grid-4x2-outer-verts::before,
.grid-4x2-outer-verts::after {
  content: "";
  position: absolute;
  width: 1px;
  background-image: repeating-linear-gradient(
    to bottom,
    var(--line-color) 0px,
    var(--line-color) 1px,
    transparent 1px,
    transparent 4px
  );
}

/* LEFT edge – full height */
.grid-4x2-outer-verts::before {
  left: 0;
  top: 0;
  height: 100%;
}

/* RIGHT edge */
.grid-4x2-outer-verts::after {
  right: 0;
  top: 0;
  height: 100%;
}

/* Overlay that actually draws all the vertical lines */
.grid-4x2-lines {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* =========================
   VERTICAL segments (top & bottom)
   Three verticals: at 25%, 50% and 75%
   ========================= */
.grid-4x2-lines::before,
.grid-4x2-lines::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  /* three repeating gradients – one for each vertical line */
  background-image:
    repeating-linear-gradient(
      to bottom,
      var(--line-color) 0px,
      var(--line-color) 1px,
      transparent 1px,
      transparent 4px
    ),
    repeating-linear-gradient(
      to bottom,
      var(--line-color) 0px,
      var(--line-color) 1px,
      transparent 1px,
      transparent 4px
    ),
    repeating-linear-gradient(
      to bottom,
      var(--line-color) 0px,
      var(--line-color) 1px,
      transparent 1px,
      transparent 4px
    );
  background-repeat: no-repeat;
  /* 1px wide, full height of this pseudo-element */
  background-size:
    1px 100%;
  /* positions of the three verticals */
  background-position:
    25% 0,
    50% 0,
    75% 0;
}

/* Top vertical segments – from top edge down to just before sparks */
.grid-4x2-lines::before {
  top: 0;
  height: calc(50% - var(--spark-gap));
}

/* Bottom vertical segments – from just after sparks to bottom edge */
.grid-4x2-lines::after {
  bottom: 0;
  height: calc(50% - var(--spark-gap));
}

/* =========================
   HORIZONTAL segments (left & right)
   ========================= */

/* Shared mid-line position for ALL horizontal pieces */
.grid-4x2-lines-inner {
  position: absolute;
  inset: 0;
  pointer-events: none;

  --mid-y: calc(50% - 0.5px);

  /* center horizontal segment between the two sparks */
  background-image: repeating-linear-gradient(
    to right,
    var(--line-color) 0px,
    var(--line-color) 1px,
    transparent 1px,
    transparent 4px
  ),
  repeating-linear-gradient(
    to right,
    var(--line-color) 0px,
    var(--line-color) 1px,
    transparent 1px,
    transparent 4px
  );
  background-repeat: no-repeat;
  background-size: calc(25% - (2 * var(--spark-gap))) 1px;

  /* default */
  background-position: calc(25% + var(--spark-gap)) var(--mid-y), calc(60% + var(--spark-gap)) var(--mid-y);
}

@media (min-width: 1025px) and (max-width: 1040px) {
  .grid-4x2-lines-inner {
    background-position: calc(29% + var(--spark-gap)) var(--mid-y), calc(60.5% + var(--spark-gap)) var(--mid-y);
  }
}

@media (min-width: 1041px) and (max-width: 1224px) {
  .grid-4x2-lines-inner {
    background-position: calc(29.5% + var(--spark-gap)) var(--mid-y), calc(61% + var(--spark-gap)) var(--mid-y);
  }
}

@media (min-width: 1225px) and (max-width: 1439px) {
  .grid-4x2-lines-inner {
    background-position: calc(30% + var(--spark-gap)) var(--mid-y), calc(61.5% + var(--spark-gap)) var(--mid-y);
  }
}

@media (min-width: 1440px) and (max-width: 1549px)  {
  .grid-4x2-lines-inner {
    background-position: calc(30.5% + var(--spark-gap)) var(--mid-y), calc(62% + var(--spark-gap)) var(--mid-y);
  }
}

@media (min-width: 1550px) and (max-width: 1899px)  {
  .grid-4x2-lines-inner {
    background-position: calc(31% + var(--spark-gap)) var(--mid-y), calc(62.5% + var(--spark-gap)) var(--mid-y);
  }
}

@media (min-width: 1900px) {
  .grid-4x2-lines-inner {
    background-position: calc(31.5% + var(--spark-gap)) var(--mid-y), calc(63% + var(--spark-gap)) var(--mid-y);
  }
}

.grid-4x2-lines-inner::before,
.grid-4x2-lines-inner::after {
  content: "";
  position: absolute;
  top: var(--mid-y);       /* SAME baseline as the center segment */
  height: 1px;
  background-image: repeating-linear-gradient(
    to right,
    var(--line-color) 0px,
    var(--line-color) 1px,
    transparent 1px,
    transparent 4px
  );
  transform: none;
}

/* Left horizontal segment – from left edge to just before spark */
.grid-4x2-lines-inner::before {
  left: 0;
  width: calc(25% - var(--spark-gap));
}

/* Right horizontal segment – from just after spark to right edge */
.grid-4x2-lines-inner::after {
  right: 0;
  width: calc(25% - var(--spark-gap));
}

/* Vertical Marquee Photo Wall */
.spa-photo-wall {
  height: clamp(420px, 55vh, 560px);
  overflow: hidden;
  position: relative;
}

/* 2) columns */
.spa-photo-col {
  position: relative;
  overflow: hidden; /* extra safety */
}

/* 3) the moving track */
.spa-photo-track {
  display: flex;
  flex-direction: column;
  gap: 20px;                 /* match your Elementor gap */
  will-change: transform;
}

/* Optional: make images look consistent */
.spa-photo-track img {
  display: block;
  width: 100%;
  height: auto;
}

/* 4) animations: translate by 50% because track is duplicated */
@keyframes spa-marquee-up {
  from { transform: translateY(0); }
  to   { transform: translateY(-50%); }
}

@keyframes spa-marquee-down {
  from { transform: translateY(-50%); }
  to   { transform: translateY(0); }
}

/* Apply opposite directions */
.spa-photo-col--up .spa-photo-track {
  animation: spa-marquee-up 18s linear infinite;
}

.spa-photo-col--down .spa-photo-track {
  animation: spa-marquee-down 18s linear infinite;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .spa-photo-track { animation: none !important; transform: none !important; }
}

.spa-photo-track { animation-play-state: paused; }
.spa-photo-wall.is-inview .spa-photo-track { animation-play-state: running; }

@media (max-width: 768px) {
  .spa-photo-wall {
      height: 300px;
  }    
}

/* Prevent words from breaking in the middle */
.spa-hero .word {
  display: inline-block;
  white-space: nowrap;
}

/* Letters start invisible and shifted down */
.spa-hero .letter {
  opacity: 0;
  display: inline-block;
  transform: translateY(40px);
  will-change: transform, opacity;
}

/* Wave animation for each letter */
@keyframes letterFadeUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* When section scrolls into view */
.spa-hero.is-inview .letter {
  animation: letterFadeUp 0.35s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

/* Wrapper for precise alignment */
.spa-spark-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Base state — no animation until JS triggers it */
.spa-spark-icon {
  display: block;
  width: 40px;
  height: 40px;
  transform-origin: 50% 50%;
  transform: rotate(0deg);
}

/* Triggered on scroll by JS */
.spa-spark-icon.is-animating {
  animation: spa-spark-spin 3s linear forwards;
}

/* half rotation */
@keyframes spa-spark-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(180deg);
  }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .spa-spark-icon.is-animating {
    animation: none;
  }
}

/* ===== Flattened Maps ===== */

#spa-us-map,
#spa-uk-map,
#spa-au-map {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

#spa-us-map svg,
#spa-uk-map svg,
#spa-au-map svg {
  display: block;
  width: 100%;
  height: auto;
}

.spa-state,
.spa-country {
  fill: #E7ECF0;
  stroke: #BBC7D4;
  stroke-width: 1;
}

.spa-au-state {
  fill: #E7ECF0;
  stroke: #BBC7D4;
  stroke-width: 1;
}

.spa-au-state-highlight {
  fill: #002E5D;
}

.spa-marker-dot {
  fill: #39a4dc;
}

/* ===== Benefit Card Icon Hover Color Change ===== */

/* Entire benefit card */
.spa-benefit-card {
  position: relative;
}

/* Wrapper reserves space for the icon so text won't overlap */
.spa-benefit-icon-wrap {
  position: relative;
  width: 56px;   /* adjust to your icon size */
  height: 56px;  /* adjust to your icon size */
  margin-bottom: 20px;
}

/* Stack both icons in the same reserved space */
.spa-benefit-icon-wrap .spa-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.25s ease;
}

/* Make sure icon widgets/images scale properly */
.spa-benefit-icon-wrap .spa-icon img,
.spa-benefit-icon-wrap .spa-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Default state */
.spa-icon--blue {
  opacity: 1;
}

.spa-icon--yellow {
  opacity: 0;
}

/* Hover state */
.spa-benefit-card:hover .spa-icon--blue {
  opacity: 0;
}

.spa-benefit-card:hover .spa-icon--yellow {
  opacity: 1;
}

/* ===== Bio Nav ===== */

.spa-bio-nav{
    display:grid;
    grid-template-columns: 1fr 1fr;
    align-items:center;
    column-gap:50px;
    width:100%;
}

.spa-bio-nav__group{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.spa-bio-nav__group--prev{
    justify-content:flex-start;
}

.spa-bio-nav__group--next{
    justify-content:flex-end;
}

.spa-bio-nav__text-btn,
.spa-bio-nav__arrow-btn{
    display:inline-block;
    text-align:center;
    background:#E7ECF0;
    font-family:"Aptos", Sans-serif;
    font-weight:400;
    text-decoration:none;
    text-shadow:0 0 0 rgba(0,0,0,.3);
    line-height:100% !important;
    color:#011834;
    border-radius:0;
}

.spa-bio-nav__text-btn{
    padding:12px 24px;
    font-size:16px !important;
    white-space:nowrap;
}

.spa-bio-nav__group--next .spa-bio-nav__text-btn{
    text-align:right;
}

.spa-bio-nav__arrow-btn{
    padding:8px 12px 8px 11px;
    line-height:1;
}

.spa-bio-nav__arrow-btn i{
    display:block;
    font-size:24px;
    line-height:1;
}

/* keep hover visually unchanged */
.spa-bio-nav__text-btn:hover,
.spa-bio-nav__arrow-btn:hover{
    background:#E7ECF0;
    color:#011834;
    text-decoration: none;
}

@media (max-width:767px){
    .spa-bio-nav{
        grid-template-columns: 1fr 1fr;
        column-gap:20px;
    }

    .spa-bio-nav__group{
        gap:0;
    }

    .spa-bio-nav__text-btn{
        display:none;
    }

    .spa-bio-nav__group--prev{
        justify-content:flex-start;
    }

    .spa-bio-nav__group--next{
        justify-content:flex-end;
    }
}

/* ===== SPA Anchor ===== */

.spa-anchor{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ===== SPA Values Accordion Skin (Elementor Accordion) ===== */

.elementor-widget-n-accordion .e-n-accordion-item-title{
  display: flex;
  align-items: center;
  width: 100%;
  gap: 14px;
}

/* Ensure LEFT content comes first */
.elementor-widget-n-accordion .e-n-accordion-item-title > *{
  order: 1;
}

/* Badge (your yellow square) stays with the left group */
.elementor-widget-n-accordion .e-n-accordion-item-title .spa-acc-badge{
  order: 1;
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #F7BB29;
  line-height: 1;
  flex: 0 0 56px;
  margin-right: 24px;
}

/* Title text sits next */
.elementor-widget-n-accordion .e-n-accordion-item-title .e-n-accordion-item-title-text{
  order: 2;
  flex: 0 1 auto;
}

/* Move icon to the FAR RIGHT (make it last + push) */
.elementor-widget-n-accordion .e-n-accordion-item-title .e-n-accordion-item-title-icon{
  order: 3;
  margin-left: auto;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Full-screen overlay */
.spa-preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #011834; /* SPA Night */
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none; /* Prevents clicks under it before fade-out finishes */
  opacity: 1;
  transition: opacity 0.6s ease-out;
}

/* Wrapper */
.spa-preloader__spark-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 159px;
  height: 159px;
  /* tweak these until it visually sits exactly on top of the hero spark */
  /* left 17px, down 50px */
  /* transform: translate(-17px, 50px); */
}

/* Spark base styling */
.spa-preloader__spark {
  display: block;
  width: 100%;
  height: 100%;
  fill: #ffffff;
}

/* Base rotor setup (no animation by default) */
.spa-preloader__spark-rotor {
  transform-box: fill-box;       /* use the shape’s bounds */
  transform-origin: 50% 50%;
}

/* Center the spark & apply the animation to the rotor group ONLY when triggered */
.spa-preloader.is-animating .spa-preloader__spark-rotor,
.spa-spark-wrap .spa-preloader__spark.is-animating .spa-preloader__spark-rotor {
  animation: spa-spark-zoom-spin 1.4s ease-out forwards;
}

/* Zoom in + half rotation in place + slow final enlarge */
@keyframes spa-spark-zoom-spin {
  0% {
    transform: scale(0.4) rotate(0deg);
    opacity: 0;
  }

  /* Spin + grow finishes quicker (50%) */
  50% {
    opacity: 1;
    transform: scale(1.0) rotate(180deg);
  }

  /* Extended enlarge phase */
  100% {
    transform: scale(1.3) rotate(180deg); /* larger than before */
  }
}

/* State when we’re done loading */
.spa-preloader.is-done {
  opacity: 0;
}

/* Hide completely after fade */
.spa-preloader.is-removed {
  display: none;
}

/* Only show preloader on /home page */
body:not(.page-id-67) #spa-preloader {
  display: none !important;
}

/* Scroll To Explore */
.spa-scroll-cue{
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .6s ease, transform .6s ease;
}

/* When active: fade/slide in */
.spa-scroll-cue.is-active{
  opacity: 1;
  transform: translateY(0);
}

/* Nudge loop on the arrow */
.spa-scroll-cue.is-active .spa-scroll-cue__icon{
  animation: spaScrollNudge 1.8s ease-in-out infinite;
}

/* Subtle “breathe” on text (optional) */
.spa-scroll-cue.is-active .spa-scroll-cue__text{
  animation: spaScrollText 1.8s ease-in-out infinite;
}

@keyframes spaScrollNudge{
  0%, 20% { transform: translateY(0); opacity: .85; }
  45%     { transform: translateY(6px); opacity: 1; }
  70%,100%{ transform: translateY(0); opacity: .85; }
}

@keyframes spaScrollText{
  0%, 30% { opacity: .75; }
  55%     { opacity: 1; }
  100%    { opacity: .75; }
}

@media (prefers-reduced-motion: reduce){
  .spa-scroll-cue,
  .spa-scroll-cue__icon,
  .spa-scroll-cue__text{
    animation: none !important;
    transition: none !important;
  }
}

/* Pill container for library filters */
.spa-library-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

/* Base pill */
.spa-library-filter .spa-pill {
  font-size: 16px;
  line-height: 100%;
  vertical-align: middle;

  padding: 10px 12px;

  border: 1px solid #99ABBE;
  border-radius: 0;
  background-color: transparent;

  color: #011834;
  text-decoration: none;

  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

/* Hover */
.spa-library-filter .spa-pill:hover {
  border-color: #011834;
  background-color: #011834;
  color: #ffffff;
}

/* Active */
.spa-library-filter .spa-pill.is-active {
  border-color: #011834;
  background-color: #011834;
  color: #ffffff;
}

.spa-library-filter .spa-pill {
  cursor: pointer;
}

/* =========================
   Filter Bar Layout
========================= */

.spa-filterbar{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.spa-filterbar__label{
  display:none;
}

.spa-filterbar__controls{
  display:flex;
  gap:8px;
  align-items:center;
}

body.spa-filter-active .spa-archive-spotlight{
  display:none !important;
}

/* =========================
   Dropdown Shell
========================= */

.spa-dd{
  position:relative;
  flex:1 1 0;
  min-width:200px;
}

/* =========================
   Native Select (Closed)
========================= */

.spa-dd__select{
  width:100%;
  font-size:16px;
  line-height:100%;
  padding:10px 34px 10px 12px;
  border:1px solid #99ABBE;
  border-radius:0;
  background-color:transparent;
  color:#011834;
  cursor:pointer;

  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
}

/* =========================
   Open State (TOP ONLY)
========================= */

.spa-dd__select:focus,
.spa-dd__select:focus-visible{
  background-color:#fff;
  border-color:#011834;
  outline:none;
}

/* =========================
   Simulated Dropdown Shadow
   (applies ONLY when open)
========================= */

.spa-dd:has(.spa-dd__select:focus)::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:1px;
  box-shadow:0px 4px 4px 0px #00000014;
  pointer-events:none;
}

/* =========================
   Caret
========================= */

.spa-dd::after{
  content:"";
  position:absolute;
  right:12px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid #011834;
  border-bottom:2px solid #011834;
  transform:translateY(-60%) rotate(45deg);
  pointer-events:none;
}

.resources-filter-btn.active .elementor-button{
  background-color:#011834 !important;
  color:#ffffff !important;
}

.spa-video-8x3 {
  aspect-ratio: 1920 / 720; /* 2.6667 */
  width: 100%;
  max-height: 80vh; /* optional safety cap */
  overflow: hidden;
}
.spa-video-8x3 video {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  background-color: #011834; /* SPA Night for letterboxing */
}

/* ===== SPA Jobs Search Bar (HTML form) ===== */
.spa-jobs-search{
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;  /* LEFT align contents; change to "center" to center entire bar */
  gap: 56px;
  width: 100%;
  max-width: 1180px;
  margin: 0;                    /* change to "0 auto" to center within page */
}

/* field wrapper */
.spa-jobs-field{
  flex: 1 1 420px;          /* each field can grow, but starts wide */
  min-width: 260px;
}

/* input base style */
.spa-jobs-search input[type="text"]{
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid #99ABBE;
  border-radius: 0;
  padding: 10px 0;
  margin: 0;
  outline: none;
  box-shadow: none;

  color: #011834;
  font-size: 16px;
}

/* placeholder */
.spa-jobs-search input[type="text"]::placeholder{
  color: rgba(1, 24, 52, 0.6);
  font-size: 16px;
}

/* location icon */
.spa-jobs-field--location{
  position: relative;
}
.spa-jobs-field--location input[type="text"]{
  padding-right: 34px; /* room for icon */
}
.spa-jobs-loc-icon{
  position: absolute;
  right: 0;
  bottom: 12px;
  width: 18px;
  height: 18px;
  opacity: 0.8;
  background: no-repeat center / contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23011834' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-4.35 7-11a7 7 0 1 0-14 0c0 6.65 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2'/%3E%3C/svg%3E");
}

/* button sizing/alignment */
.spa-jobs-search .main-btn-light-bkgd-frame{
  flex: 0 0 auto;
  margin-left: 6px;
  white-space: nowrap;
}

/* responsive: stack on tablet/mobile */
@media (max-width: 1024px){
  .spa-jobs-search{
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 22px;
    max-width: 640px;
  }
  .spa-jobs-field{
    flex: 1 1 auto;
    min-width: 0;
  }
  .spa-jobs-search .main-btn-light-bkgd-frame{
    align-self: flex-start;
  }
}

/* ===== Mute/Unmute Careers Hero Video ===== */

.spa-careers-hero-video-wrap{
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.spa-careers-hero-video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* sound toggle */
.spa-careers-sound-toggle{
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 5;

  background: transparent !important;
  border: none !important;
  padding: 0;
  margin: 0;

  cursor: pointer;
  appearance: none;
}

/* material icon */
.spa-careers-sound-toggle .material-symbols-outlined{
  font-size: 28px;
  color: #E7ECF0;

  font-variation-settings:
    'FILL' 0,
    'wght' 300,
    'GRAD' 0,
    'opsz' 24;

  text-shadow: 0 2px 6px rgba(0,0,0,.4);
}

.spa-sound-on{
  display:none;
}

/* ===== Military Rotator ===== */

.spa-military-rotator{
  position: relative;
  overflow: hidden;
  background: transparent;
  width: 100%;
  height: 190px;
}

.spa-military-rotator-track{
  display: flex;
  flex-direction: column;
  will-change: transform;
}

.spa-military-item{
  font-family: "Aptos", Sans-serif;
  font-size: 28px;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 130%;
  color: #6B7885;
  min-height: 52px;
  display: flex;
  align-items: center;
  transition: color .35s ease, opacity .35s ease;
}

.spa-military-item.is-active{
  color: #ffffff;
}

@media (max-width: 767px){
  .spa-military-rotator{
    height: 160px;
  }

  .spa-military-item{
    font-size: 22px;
    min-height: 46px;
  }
}

/* ===== Spark Preloader v3 ===== */

.spa-preloader-v3 {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #011834;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.6s ease-out;
}

.spa-preloader-v3 canvas {
  width: 100%;
  height: 100%;
  display: block;
}

/* Only show on test page 2415 */
body:not(.page-id-2415) #spa-preloader-v3 {
  display: none !important;
}

/* Fade states */
.spa-preloader-v3.is-done {
  opacity: 0;
}

.spa-preloader-v3.is-removed {
  display: none;
}


/* ===== Sparkle Preloader ===== */

.sparkle-preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #011834;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.6s ease-out;
}

.sparkle-preloader canvas {
  width: 100%;
  height: 100%;
  display: block;
}

/* Only show on test page 67 */
body:not(.page-id-67) #sparkle-preloader {
  display: none !important;
}

/* Fade states */
.sparkle-preloader.is-done {
  opacity: 0;
}

.sparkle-preloader.is-removed {
  display: none;
}

/* ==========================================
   SPA HubSpot Forms (Unified: New hsfc-* + Legacy hs-form)
   ========================================== */

/* ---------- Shared base typography ---------- */
/* If you want everything to use your SPA font var */
.hsfc-form,
.hsfc-form *,
.hs-form,
.hs-form * {
  font-family: var(--spa-font) !important;
}

/* ==========================================
   LABELS
   - Hide for text/select/textarea fields
   - Show for checkbox/consent fields
   ========================================== */

/* NEW FORMS: default show, then selectively hide */
.hsfc-FieldLabel,
.hsfc-FieldLabel label,
.hsfc-FieldLabel span {
  display: block !important;
}

/* NEW FORMS: hide labels for common input fields */
.hsfc-TextField .hsfc-FieldLabel,
.hsfc-TextAreaField .hsfc-FieldLabel,
.hsfc-SelectField .hsfc-FieldLabel,
.hsfc-DateField .hsfc-FieldLabel,
.hsfc-NumberField .hsfc-FieldLabel,
.hsfc-PhoneField .hsfc-FieldLabel,
.hsfc-EmailField .hsfc-FieldLabel,
.hsfc-UrlField .hsfc-FieldLabel {
  display: none !important;
}

/* NEW FORMS: show checkbox + boolean checkbox labels */
.hsfc-Checkbox .hsfc-FieldLabel,
.hsfc-BooleanCheckbox .hsfc-FieldLabel,
.hsfc-form-checkbox .hsfc-FieldLabel,
.hsfc-form-booleancheckbox .hsfc-FieldLabel {
  display: block !important;
}

/* Hide normal legacy labels */
.hs-form .hs-form-field > label {
  display: none !important;
}

/* But DO show HubSpot validation error labels */
.hs-form label.hs-error-msg,
.hs-form .hs-error-msg,
.hs-form .hs-error-msgs,
.hs-form .hs-error-msgs li,
.hs-form .no-list.hs-error-msgs,
.hs-form .no-list.hs-error-msgs li {
  display: block !important;
  color: #f05d23 !important;
  font-size: 14px !important;
  line-height: 130% !important;
  font-family: inherit !important;
  font-weight: 400 !important;
  margin: 8px 0 0 0 !important;
  padding: 0 !important;
}

/* ...but show checkbox labels (since legacy hides labels globally) */
.hs-form .hs-form-booleancheckbox label span,
.hs-form .hs-form-checkbox label span {
  display: block !important;
}


/* ==========================================
   INPUTS / SELECTS / TEXTAREA
   Underline-only style (both new + legacy)
   ========================================== */

/* NEW (hsfc) */
input.hsfc-TextInput,
textarea.hsfc-TextInput,
select.hsfc-TextInput,
.hsfc-TextInput,
/* LEGACY (hs-form) */
.hs-form input[type="text"],
.hs-form input[type="email"],
.hs-form input[type="tel"],
.hs-form input[type="number"],
.hs-form input[type="url"],
.hs-form input[type="password"],
.hs-form select,
.hs-form textarea {
  width: 100% !important;
  background: transparent !important;

  border: none !important;
  border-bottom: 1px solid #011834 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;

  color: #011834 !important;
  font-size: 16px !important;
  line-height: 130% !important;
  font-family: inherit !important;

  height: 50px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Textarea specifics (both) */
textarea.hsfc-TextInput,
.hs-form textarea {
  height: auto !important;
  min-height: 50px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  resize: vertical;
}

/* Select: keep simple + consistent */
.hs-form select {
  -webkit-appearance: none;
  appearance: none;
}

/* Placeholder (both) */
input.hsfc-TextInput::placeholder,
textarea.hsfc-TextInput::placeholder,
.hs-form input::placeholder,
.hs-form textarea::placeholder {
  color: #011834 !important;
  opacity: 1 !important;
  font-size: 16px !important;
  line-height: 130% !important;
}

/* Focus (both) */
input.hsfc-TextInput:focus,
textarea.hsfc-TextInput:focus,
select.hsfc-TextInput:focus,
.hs-form input:focus,
.hs-form select:focus,
.hs-form textarea:focus {
  border-bottom-color: #011834 !important;
  outline: none !important;
}

/* Legacy field spacing + errors */
.hs-form .hs-form-field {
  margin-bottom: 28px;
}

.hs-form .hs-error-msgs,
.hs-form .hs-error-msgs li {
  margin: 8px 0 0 0;
  padding: 0;
  font-size: 14px;
  line-height: 130%;
  color: #011834;
}


/* ==========================================
   CHECKBOXES — SPA STYLE (LEGACY + NEW)
   ========================================== */

/* ---------- Remove bullets (both) ---------- */
.hs-form .inputs-list,
.hs-form .inputs-list li,
.hsfc-form .inputs-list,
.hsfc-form .inputs-list li,
.hsfc-form ul,
.hsfc-form li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---------- Layout ---------- */
.hs-form .hs-form-booleancheckbox-display,
.hs-form .hs-form-checkbox label,
.hsfc-form .hsfc-BooleanCheckbox label,
.hsfc-form .hsfc-Checkbox label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  cursor: pointer;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---------- Checkbox input (both) ---------- */
.hs-form input[type="checkbox"],
.hsfc-form input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  margin: 3px 0 0 0 !important;

  border: 1px solid #6B6B6B !important;
  border-radius: 0 !important;
  background: transparent !important;

  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;

  box-shadow: none !important;
  outline: none !important;
  cursor: pointer;
  position: relative !important;

  flex: 0 0 14px !important;
}

/* ---------- Checked state ---------- */
.hs-form input[type="checkbox"]:checked,
.hsfc-form input[type="checkbox"]:checked {
  background: #011834 !important;
  border-color: #011834 !important;
}

/* ---------- Checkmark ---------- */
.hs-form input[type="checkbox"]:checked::after,
.hsfc-form input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 0px;
  width: 4px;
  height: 8px;
  border: solid #ffffff;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}

/* ---------- Text styling ---------- */
.hs-form .hs-form-booleancheckbox-display span,
.hs-form .hs-form-booleancheckbox-display p,
.hs-form .hs-form-checkbox label span,
.hsfc-form .hsfc-BooleanCheckbox label span,
.hsfc-form .hsfc-Checkbox label span,
.hsfc-form .hsfc-BooleanCheckbox p,
.hsfc-form .hsfc-Checkbox p {
  font-size: 14px !important;
  line-height: 130% !important;
  color: #011834 !important;
  font-family: inherit !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

/* ---------- Remove extra paragraph spacing ---------- */
.hs-form .hs-form-booleancheckbox-display p,
.hsfc-form .hsfc-BooleanCheckbox p {
  margin: 0 !important;
}

/* Rich text / consent blocks (both) */
.hsfc-RichText,
.hsfc-RichText p,
.hsfc-RichText a,
.hsfc-ConsentText,
.hsfc-ConsentText p,
.hsfc-ConsentText a,
.hsfc-HelpText,
.hsfc-HelpText p,
.hsfc-HelpText a,
.hs-form .hs-richtext,
.hs-form .hs-richtext p,
.hs-form .hs-richtext a,
.hs-form .hs-field-desc,
.hs-form .legal-consent-container,
.hs-form .legal-consent-container p,
.hs-form .legal-consent-container a,
.hs-form .legal-consent-container span,
.hs-form .hs-dependent-field,
.hs-form .hs-dependent-field p,
.hs-form .hs-dependent-field a {
  font-size: 14px !important;
  line-height: 130% !important;
  color: #011834 !important;
  font-family: inherit !important;
}

.hsfc-RichText a,
.hsfc-ConsentText a,
.hsfc-HelpText a,
.hs-form .hs-richtext a,
.hs-form .legal-consent-container a,
.hs-form .hs-dependent-field a {
  text-decoration: underline !important;
}

.hsfc-RichText,
.hs-form .hs-richtext {
  margin-bottom: 25px !important;
}

/* ==========================================
   RADIO BUTTONS
   ========================================== */

/* --- Layout: side-by-side --- */
.hs-form .hs-fieldtype-radio .inputs-list.multi-container {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.hs-form .hs-fieldtype-radio .hs-form-radio {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
}

/* --- Label + text --- */
.hs-form .hs-fieldtype-radio .hs-form-radio label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  cursor: pointer;
}

/* Ensure text matches form styling */
.hs-form .hs-fieldtype-radio .hs-form-radio label,
.hs-form .hs-fieldtype-radio .hs-form-radio label span {
  color: #011834 !important;
  font-size: 16px !important;
  line-height: 130% !important;
  font-family: inherit !important;
  font-weight: 400 !important;
}

/* --- Radio input (custom circle) --- */
.hs-form .hs-fieldtype-radio input[type="radio"] {
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;

  border: 1px solid #011834 !important;
  border-radius: 50% !important;
  background: transparent !important;

  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;

  box-shadow: none !important;
  outline: none !important;
  cursor: pointer;
  position: relative;
}

/* --- Inner dot --- */
.hs-form .hs-fieldtype-radio input[type="radio"]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  background: #011834;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.15s ease;
}

/* --- Checked state --- */
.hs-form .hs-fieldtype-radio input[type="radio"]:checked::after {
  transform: translate(-50%, -50%) scale(1);
}

/* ==========================================
   SUBMIT BUTTON (Unified)
   ========================================== */

/* wrappers */
.hs-form .hs_submit,
.hs-form .hs_submit .actions {
  position: relative;
  display: inline-block;
}

/* keep left aligned */
.hs-form .hs_submit {
  text-align: left !important;
  margin-top: 25px !important;
}

.hs-form .hs_submit .actions {
  overflow: visible;
}

/* actual input */
.hs-form input[type="submit"].hs-button,
.hs-form .hs_submit .hs-button {
  position: relative;
  display: inline-block;

  background-color: #F7BB29 !important;
  color: #011834 !important;
  padding: 16px 32px !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  cursor: pointer;
  transition: background-color 0.25s ease;
  text-decoration: none;
  overflow: visible;

  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 100% !important;
  font-family: inherit !important;

  float: none !important;
}

/* hover */
.hs-form input[type="submit"].hs-button:hover,
.hs-form .hs_submit .hs-button:hover,
.hs-form input[type="submit"].hs-button:focus,
.hs-form .hs_submit .hs-button:focus {
  background-color: #E8B027 !important;
  color: #011834 !important;
  outline: none !important;
}

/* shared corner setup */
.hs-form .hs_submit::before,
.hs-form .hs_submit::after,
.hs-form .hs_submit .actions::before,
.hs-form .hs_submit .actions::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border: 1px solid #011834;
  pointer-events: none;
  transition: width 0.35s ease, height 0.35s ease;
  box-sizing: border-box;
  z-index: 2;
}

/* top-left */
.hs-form .hs_submit::before {
  top: -4px;
  left: -4px;
  border-right: none;
  border-bottom: none;
}

/* bottom-right */
.hs-form .hs_submit::after {
  bottom: -4px;
  right: -4px;
  border-left: none;
  border-top: none;
}

/* top-right */
.hs-form .hs_submit .actions::before {
  top: -4px;
  right: -4px;
  border-left: none;
  border-bottom: none;
}

/* bottom-left */
.hs-form .hs_submit .actions::after {
  bottom: -4px;
  left: -4px;
  border-right: none;
  border-top: none;
}

/* hover expand */
.hs-form .hs_submit:hover::before,
.hs-form .hs_submit:hover::after,
.hs-form .hs_submit:hover .actions::before,
.hs-form .hs_submit:hover .actions::after,
.hs-form .hs_submit .hs-button:hover ~ *,
.hs-form .hs_submit:focus-within::before,
.hs-form .hs_submit:focus-within::after,
.hs-form .hs_submit:focus-within .actions::before,
.hs-form .hs_submit:focus-within .actions::after {
  width: calc(50% + 5px);
  height: calc(50% + 5px);
}

/* NEW FORMS: left align when there is ONLY one button (Submit) */
[data-hsfc-id="Renderer"] .hsfc-NavigationRow__Buttons:has(> *:only-child) {
  justify-content: flex-start !important;
}

/* Legacy hs-form submit alignment */
.hs-form .hs_submit {
  text-align: left !important;
}
.hs-form .hs_submit .hs-button {
  float: none !important;
}

/* Hide HubSpot required asterisk elements (legacy + new) */
.hs-form .hs-form-required,
.hsfc-form .hs-form-required,
.hsfc-form .hsfc-RequiredAsterisk,
.hsfc-form [data-required-indicator] {
  display: none !important;
}

/* ==========================================
   CUSTOM SELECT ARROW (HUBSPOT)
   ========================================== */

/* wrap the select visually */
.hs-form .hs-fieldtype-select .input {
  position: relative;
}

/* remove native arrow */
.hs-form select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: none !important;
}

/* add custom arrow */
.hs-form .hs-fieldtype-select .input::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);

  width: 20px;
  height: 20px;

  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23011834'><path d='M5 7l5 5 5-5z'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;

  pointer-events: none;
}

/* give space so text doesn't overlap arrow */
.hs-form select {
  padding-right: 28px !important;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Aptos';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos.eot');
	src: url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos.eot?#iefix') format('embedded-opentype'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos.woff2') format('woff2'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos.woff') format('woff'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos.ttf') format('truetype'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos.svg#Aptos') format('svg');
}
@font-face {
	font-family: 'Aptos';
	font-style: italic;
	font-weight: normal;
	font-display: auto;
	src: url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Italic.eot');
	src: url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Italic.eot?#iefix') format('embedded-opentype'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Italic.woff2') format('woff2'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Italic.woff') format('woff'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Italic.ttf') format('truetype'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Italic.svg#Aptos') format('svg');
}
@font-face {
	font-family: 'Aptos';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-SemiBold.eot');
	src: url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-SemiBold.eot?#iefix') format('embedded-opentype'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-SemiBold.woff2') format('woff2'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-SemiBold.woff') format('woff'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-SemiBold.ttf') format('truetype'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-SemiBold.svg#Aptos') format('svg');
}
@font-face {
	font-family: 'Aptos';
	font-style: italic;
	font-weight: 600;
	font-display: auto;
	src: url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-SemiBold-Italic.eot');
	src: url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-SemiBold-Italic.eot?#iefix') format('embedded-opentype'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-SemiBold-Italic.woff2') format('woff2'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-SemiBold-Italic.woff') format('woff'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-SemiBold-Italic.ttf') format('truetype'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-SemiBold-Italic.svg#Aptos') format('svg');
}
@font-face {
	font-family: 'Aptos';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Bold.eot');
	src: url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Bold.eot?#iefix') format('embedded-opentype'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Bold.woff2') format('woff2'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Bold.woff') format('woff'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Bold.ttf') format('truetype'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Bold.svg#Aptos') format('svg');
}
@font-face {
	font-family: 'Aptos';
	font-style: italic;
	font-weight: 700;
	font-display: auto;
	src: url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Bold-Italic.eot');
	src: url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Bold-Italic.eot?#iefix') format('embedded-opentype'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Bold-Italic.woff2') format('woff2'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Bold-Italic.woff') format('woff'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Bold-Italic.ttf') format('truetype'),
		url('https://sparedesigndev.wpenginepowered.com/wp-content/uploads/2026/01/Aptos-Bold-Italic.svg#Aptos') format('svg');
}
/* End Custom Fonts CSS */