.elementor-12 .elementor-element.elementor-element-3b10059c{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--z-index:1000;}.elementor-12 .elementor-element.elementor-element-770a94c9{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-12 .elementor-element.elementor-element-1d04fbe1{text-align:start;}.elementor-12 .elementor-element.elementor-element-1d04fbe1 img{width:64px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-12 .elementor-element.elementor-element-2707e92b .elementor-menu-toggle{margin:0 auto;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-12 .elementor-element.elementor-element-770a94c9{--content-width:1280px;}}/* Start custom CSS *//* Attitude to Thrive — Global Header
   Elementor Pro + Hello Elementor
   Corrected against the REAL Elementor DOM.
   Replace the previous att-header.css with this file.
*/

.att-header {
  --att-navy: #0D2B45;
  --att-navy-deep: #0A2238;
  --att-teal: #0E7C86;
  --att-gold: #F5A623;
  --att-gold-hover: #E4951A;
  --att-light: #F2F4F7;
  --att-hairline: #D6DEE6;
  --att-font-display: "Instrument Sans", Arial, sans-serif;

  width: 100%;
  min-height: 88px;
  background: #fff;
  border-bottom: 1px solid var(--att-hairline);
  color: var(--att-navy);
  transition: min-height 200ms cubic-bezier(.2,.7,.2,1);
}

.att-header.elementor-sticky--active {
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  background: #fff !important;
}

/* Elementor boxed containers render an .e-con-inner wrapper.
   The actual header widgets are children of that wrapper. */
.att-header__bar > .e-con-inner {
  width: calc(100% - 96px) !important;
  max-width: 1280px !important;
  min-height: 88px;
  margin-inline: auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 32px;
  position: relative;
  transition: min-height 200ms cubic-bezier(.2,.7,.2,1);
}

/* Semantic classes + robust Elementor widget fallbacks. */
.att-header__logo,
.att-header .elementor-widget-theme-site-logo {
  grid-column: 1;
  justify-self: start;
  min-width: 0;
}

.att-header__nav,
.att-header .elementor-widget-nav-menu {
  grid-column: 2;
  justify-self: center;
  min-width: 0;
  position: static !important;
}

.att-header__cta,
.att-header .elementor-widget-button {
  grid-column: 3;
  justify-self: end;
  min-width: 0;
}

.att-header .elementor-widget-nav-menu > .elementor-widget-container,
.att-header .elementor-widget-nav-menu .elementor-nav-menu__container {
  position: static;
}

/* Logo */
.att-header .elementor-widget-theme-site-logo img,
.att-header__logo img {
  display: block;
  width: 64px !important;
  max-width: 64px !important;
  height: auto !important;
  transition: width 200ms cubic-bezier(.2,.7,.2,1), max-width 200ms cubic-bezier(.2,.7,.2,1);
}

/* Desktop navigation */
.att-header .elementor-nav-menu--main .elementor-nav-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 26px;
}

.att-header .elementor-nav-menu--main .elementor-item {
  min-height: 44px;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  color: var(--att-navy) !important;
  font-family: var(--att-font-display);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-transform: none;
  transition: color 160ms cubic-bezier(.2,.7,.2,1);
}

.att-header .elementor-nav-menu--main .elementor-item:hover,
.att-header .elementor-nav-menu--main .elementor-item:focus,
.att-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.att-header .elementor-nav-menu--main .current-menu-item > .elementor-item,
.att-header .elementor-nav-menu--main .current-menu-ancestor > .elementor-item {
  color: var(--att-teal) !important;
}

.att-header .elementor-nav-menu--main .elementor-item::after {
  height: 2px !important;
  background-color: var(--att-teal) !important;
}

.att-header .elementor-nav-menu--main .sub-arrow {
  padding-inline-start: 6px;
  font-size: 9px;
}

/* Desktop dropdown */
.att-header .elementor-nav-menu--main .sub-menu {
  min-width: 260px !important;
  padding: 8px 0 !important;
  background: #fff !important;
  border: 1px solid var(--att-hairline) !important;
  box-shadow: 0 12px 28px rgba(10, 34, 56, .12);
}

.att-header .elementor-nav-menu--main .sub-menu .elementor-sub-item {
  min-height: 44px;
  padding: 10px 16px !important;
  color: var(--att-navy) !important;
  background: #fff !important;
  font-family: var(--att-font-display);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  white-space: normal;
  transition: color 160ms cubic-bezier(.2,.7,.2,1), background-color 160ms cubic-bezier(.2,.7,.2,1);
}

.att-header .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover,
.att-header .elementor-nav-menu--main .sub-menu .elementor-sub-item:focus,
.att-header .elementor-nav-menu--main .sub-menu .elementor-sub-item.elementor-item-active {
  color: var(--att-navy) !important;
  background: var(--att-light) !important;
}

/* CTA */
.att-header .elementor-widget-button .elementor-button,
.att-header__cta .elementor-button {
  min-height: 48px;
  padding: 0 20px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--att-gold) !important;
  color: var(--att-navy-deep) !important;
  font-family: var(--att-font-display);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 180ms cubic-bezier(.2,.7,.2,1);
}

.att-header .elementor-widget-button .elementor-button:hover,
.att-header__cta .elementor-button:hover {
  background: var(--att-gold-hover) !important;
  color: var(--att-navy-deep) !important;
}

/* Focus on light surfaces = navy */
.att-header a:focus-visible,
.att-header button:focus-visible,
.att-header .elementor-menu-toggle:focus-visible {
  outline: 3px solid var(--att-navy);
  outline-offset: 3px;
}

/* Scrolled header */
.att-header.elementor-sticky--effects,
.att-header.elementor-sticky--effects .att-header__bar > .e-con-inner {
  min-height: 68px;
}

.att-header.elementor-sticky--effects .elementor-widget-theme-site-logo img,
.att-header.elementor-sticky--effects .att-header__logo img {
  width: 54px !important;
  max-width: 54px !important;
}

/* Native Elementor menu toggle */
.att-header .elementor-menu-toggle {
  width: 48px;
  height: 48px;
  min-width: 48px;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--att-navy) !important;
}

.att-header .elementor-menu-toggle:hover,
.att-header .elementor-menu-toggle.elementor-active {
  background: var(--att-light) !important;
}

.att-header .elementor-nav-menu--dropdown {
  margin: 0 !important;
  background: #fff !important;
  border-top: 1px solid var(--att-hairline);
  box-shadow: 0 16px 28px rgba(10, 34, 56, .10);
}

.att-header .elementor-nav-menu--dropdown .elementor-item,
.att-header .elementor-nav-menu--dropdown .elementor-sub-item {
  color: var(--att-navy) !important;
  font-family: var(--att-font-display);
  text-decoration: none;
}

/* Never identify the mobile CTA with :last-child.
   Use the Contact URL or optional WP menu class att-menu-cta. */
.att-header .elementor-nav-menu--main li.att-menu-cta,
.att-header .elementor-nav-menu--main li:has(> a[href*="/contact/"]) {
  display: none !important;
}

/* Compact / tablet: 761–1100 */
@media (min-width: 761px) and (max-width: 1100px) {
  .att-header,
  .att-header__bar > .e-con-inner {
    min-height: 68px;
  }

  .att-header__bar > .e-con-inner {
    width: calc(100% - 64px) !important;
    grid-template-columns: 54px minmax(0, 1fr) 48px;
    gap: 16px;
  }

  .att-header .elementor-widget-theme-site-logo,
  .att-header__logo {
    grid-column: 1;
    grid-row: 1;
  }

  .att-header .elementor-widget-theme-site-logo img,
  .att-header__logo img {
    width: 54px !important;
    max-width: 54px !important;
  }

  .att-header .elementor-widget-button,
  .att-header__cta {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .att-header .elementor-widget-nav-menu,
  .att-header__nav {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }

  .att-header .elementor-nav-menu--main {
    display: none !important;
  }

  .att-header .elementor-menu-toggle {
    display: flex !important;
  }

  .att-header .elementor-nav-menu--dropdown {
    position: absolute !important;
    z-index: 20;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: calc(100vh - 68px);
    overflow-y: auto;
    padding: 16px 24px 24px !important;
  }

  .att-header .elementor-nav-menu--dropdown > .elementor-nav-menu > li > .elementor-item {
    min-height: 48px;
    padding: 10px 0 !important;
    font-size: 18px;
    font-weight: 600;
    border-bottom: 1px solid var(--att-hairline);
  }

  .att-header .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
    min-height: 42px;
    padding: 8px 16px !important;
    font-size: 16px;
    font-weight: 500;
  }

  .att-header .elementor-nav-menu--dropdown li.att-menu-cta,
  .att-header .elementor-nav-menu--dropdown li:has(> a[href*="/contact/"]) {
    display: none !important;
  }
}

/* Mobile: <=760 */
@media (max-width: 760px) {
  .att-header,
  .att-header__bar > .e-con-inner {
    min-height: 68px;
  }

  .att-header__bar > .e-con-inner {
    width: calc(100% - 40px) !important;
    grid-template-columns: 54px minmax(0, 1fr) 48px;
    gap: 12px;
  }

  .att-header .elementor-widget-theme-site-logo,
  .att-header__logo {
    grid-column: 1;
    grid-row: 1;
  }

  .att-header .elementor-widget-theme-site-logo img,
  .att-header__logo img {
    width: 54px !important;
    max-width: 54px !important;
  }

  .att-header .elementor-widget-button,
  .att-header__cta {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    display: block !important;
  }

  .att-header .elementor-widget-button .elementor-button,
  .att-header__cta .elementor-button {
    min-height: 42px;
    padding-inline: 14px !important;
    font-size: 14px;
  }

  .att-header .elementor-widget-nav-menu,
  .att-header__nav {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }

  .att-header .elementor-nav-menu--main {
    display: none !important;
  }

  .att-header .elementor-menu-toggle {
    display: flex !important;
  }

  .att-header .elementor-nav-menu--dropdown {
    position: absolute !important;
    z-index: 20;
    top: 100% !important;
    left: -20px !important;
    width: 100vw !important;
    max-height: calc(100vh - 68px);
    overflow-y: auto;
    padding: 12px 20px 24px !important;
  }

  .att-header .elementor-nav-menu--dropdown > .elementor-nav-menu > li > .elementor-item {
    min-height: 52px;
    padding: 12px 0 !important;
    font-size: 19px;
    font-weight: 600;
    border-bottom: 1px solid var(--att-hairline);
  }

  .att-header .elementor-nav-menu--dropdown .menu-item-has-children > .sub-menu {
    display: block !important;
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 2px 0 8px 14px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }

  .att-header .elementor-nav-menu--dropdown .menu-item-has-children > .elementor-item .sub-arrow {
    display: none !important;
  }

  .att-header .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
    min-height: 42px;
    padding: 8px 0 !important;
    font-size: 16px;
    font-weight: 500;
    border: 0;
  }

  .att-header .elementor-nav-menu--dropdown li.att-menu-cta,
  .att-header .elementor-nav-menu--dropdown li:has(> a[href*="/contact/"]) {
    display: block !important;
    padding-top: 12px;
  }

  .att-header .elementor-nav-menu--dropdown li.att-menu-cta > .elementor-item,
  .att-header .elementor-nav-menu--dropdown li:has(> a[href*="/contact/"]) > .elementor-item {
    min-height: 48px;
    padding: 0 18px !important;
    justify-content: center;
    border: 0 !important;
    background: var(--att-gold) !important;
    color: var(--att-navy-deep) !important;
    font-size: 16px;
    font-weight: 600;
  }
}

@media (prefers-reduced-motion: reduce) {
  .att-header,
  .att-header__bar > .e-con-inner,
  .att-header img,
  .att-header .elementor-item,
  .att-header .elementor-sub-item,
  .att-header .elementor-button {
    transition: none !important;
  }
}/* End custom CSS */