/* Strategy Team Homepage: light support styles. Everything structural lives in Elementor. */

html { scroll-behavior: smooth; }

/* Sticky header (Elementor Free has no sticky option) */
.st-header {
  position: sticky;
  top: 0;
  z-index: 90;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
body.admin-bar .st-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .st-header { top: 46px; } }

/* Inline nav list: tidy spacing, hover colour */
.st-nav .elementor-icon-list-items { justify-content: flex-end; }
.st-nav .elementor-icon-list-item { margin: 0 !important; }
.st-nav .elementor-icon-list-item:not(:last-child) { margin-right: 22px !important; }

/* Header: brand left, nav + button right, everything vertically centred, 68px tall */
.st-header .elementor-widget { margin-bottom: 0 !important; }
.st-header .elementor-widget-container { margin: 0 !important; }
.st-nav .elementor-icon-list-items,
.st-nav .elementor-icon-list-item,
.st-nav .elementor-icon-list-item a { display: flex; align-items: center; }
.st-nav .elementor-icon-list-item a { line-height: 1; }
.st-navgroup { min-height: 48px; }
.st-header > .e-con-inner, .st-header > .e-con { align-items: center; }
.st-header .st-row { align-items: center !important; }
.st-header .st-row > .e-con { justify-content: center; }
.st-brand { width: auto !important; flex: 0 0 auto !important; }
.st-brand .elementor-widget-image { width: auto; flex: 0 0 auto; }
.st-brand .elementor-widget-image img { width: 34px; height: auto; display: block; }
.st-brand > .e-con { width: auto !important; flex: 0 0 auto !important; }
.st-brand .elementor-widget-heading { width: auto; }
.st-navgroup { justify-content: flex-end !important; align-items: center !important; width: 100% !important; }
.st-navgroup > .elementor-widget-icon-list { width: auto; flex: 0 1 auto; }
.st-navgroup > .elementor-widget-button { width: auto; flex: 0 0 auto; }
.st-navgroup .elementor-button { padding: 11px 22px; }
@media (max-width: 1024px) { .st-nav { display: none; } }
.st-nav .elementor-icon-list-item a:hover .elementor-icon-list-text { color: #E8952E; }

/* Hero compass sizing */
.st-compass svg { width: 100%; max-width: 420px; height: auto; display: block; margin: 0 auto; }
@media (max-width: 767px) { .st-compass svg { max-width: 260px; } }

/* "Where we help" tiles: amber square marker (matches the approved design) */
.st-tick { position: relative; }
.st-tick .elementor-widget-text-editor { padding-left: 22px; }
.st-tick .elementor-widget-text-editor::before {
  content: ""; position: absolute; left: 18px; top: 24px; width: 10px; height: 10px; background: #E8952E;
}

/* Working-style chips */
.st-chips .elementor-icon-list-items { gap: 10px; flex-wrap: wrap; }
.st-chips .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.st-chips .elementor-icon-list-text {
  background: #FBF2E4; color: #173A5E; padding: 9px 16px; display: inline-block; line-height: 1.2;
}

/* Process step icons */
.st-ico { width: 40px; height: 40px; display: block; }

/* Reading-width caps for banner copy */
.st-maxw { max-width: 760px; }
.st-maxw-c { max-width: 820px; margin-left: auto; margin-right: auto; }

/* Square corners everywhere on this page */
.elementor-widget-button .elementor-button,
.elementor-widget-icon-box { border-radius: 0 !important; }

/* Layout safety net: keep rows on one line on tablet/desktop and let columns
   share the space in their set proportions, whatever the Elementor version. */
@media (min-width: 768px) {
  .st-row { flex-wrap: nowrap !important; width: 100% !important; }
  .st-row > .e-con { flex: 1 1 var(--width, 100%) !important; min-width: 0; }
}
@media (max-width: 767px) {
  .st-row { flex-direction: column !important; }
  .st-row > .e-con { width: 100% !important; }
}
