/* Immutable Closer Horizons navigation bundle v1. Restore known-good Squarespace Custom CSS first. */
@import url('https://static1.squarespace.com/static/custom-css/67d9b319cc424b6aab9ea5b0/67d9b31acc424b6aab9ea5b8/30/custom.css');

/* Two-level Services menu: source pages remain native Squarespace pages. */
.animo-hide-evaluations { display: none !important; }

.header-nav-item.animo-services-menu { position: relative; }
.header-display-desktop .animo-services-menu > a,
.header-display-desktop .animo-approach-menu > a,
.header-display-desktop .animo-about-menu > .header-nav-folder-title {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  font-family: Bitter, Georgia, serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.header-display-desktop .animo-services-menu > a::after,
.header-display-desktop .animo-approach-menu > a::after,
.header-display-desktop .animo-about-menu > .header-nav-folder-title::after {
  content: '›';
  color: #e47f7b;
  font-family: Bitter, Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  line-height: .8;
  transform: rotate(0deg);
  transition: transform .18s ease;
}
.header-display-desktop .animo-services-menu > a[aria-expanded='true']::after,
.header-display-desktop .animo-approach-menu > a[aria-expanded='true']::after,
.header-display-desktop .animo-about-menu > .header-nav-folder-title[aria-expanded='true']::after {
  transform: rotate(90deg);
}
.animo-services-panel {
  display: none;
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  width: 270px;
  padding: 10px;
  border: 1px solid rgba(53, 85, 101, .18);
  border-radius: 16px;
  background: #fffdf8;
  box-shadow: 0 16px 34px rgba(27, 49, 56, .14);
  font-family: Bitter, Georgia, serif;
}
.animo-services-menu:hover .animo-services-panel,
.animo-services-menu:focus-within .animo-services-panel { display: block; }
.animo-services-group { position: relative; }
.animo-services-group-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 14px;
  border-radius: 10px;
  color: #385c6f;
  font-weight: 700;
  text-decoration: none;
}
.animo-services-group-title::after { content: '›'; font-size: 20px; line-height: 1; }
.animo-services-group:hover > .animo-services-group-title,
.animo-services-group:focus-within > .animo-services-group-title { background: #f3ebe0; }
.animo-services-submenu {
  display: none;
  position: absolute;
  top: -10px;
  left: calc(100% + 10px);
  width: 300px;
  padding: 10px;
  border: 1px solid rgba(53, 85, 101, .18);
  border-radius: 16px;
  background: #fffdf8;
  box-shadow: 0 16px 34px rgba(27, 49, 56, .14);
}
.animo-services-group:hover .animo-services-submenu,
.animo-services-group:focus-within .animo-services-submenu { display: block; }
.animo-services-submenu-link {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  color: #385c6f;
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
}
.animo-services-submenu-link:hover,
.animo-services-submenu-link:focus { background: #f3ebe0; }
.header-nav-item.animo-approach-menu { position: relative; }
.animo-approach-panel {
  display: none;
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  width: 290px;
  padding: 10px;
  border: 1px solid rgba(53, 85, 101, .18);
  border-radius: 16px;
  background: #fffdf8;
  box-shadow: 0 16px 34px rgba(27, 49, 56, .14);
  font-family: Bitter, Georgia, serif;
}
.animo-approach-menu:hover .animo-approach-panel,
.animo-approach-menu:focus-within .animo-approach-panel { display: block; }
.animo-approach-link {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  color: #385c6f;
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
}
.animo-approach-link:hover,
.animo-approach-link:focus { background: #f3ebe0; }
.header-nav-item.animo-about-menu { position: relative; }
.animo-about-menu .header-nav-folder-title {
  color: #385c6f !important;
  font-family: Bitter, Georgia, serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.animo-about-panel {
  display: none;
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  width: 260px;
  padding: 10px;
  border: 1px solid rgba(53, 85, 101, .18);
  border-radius: 16px;
  background: #fffdf8;
  box-shadow: 0 16px 34px rgba(27, 49, 56, .14);
  font-family: Bitter, Georgia, serif;
}
.animo-about-menu:hover .animo-about-panel,
.animo-about-menu:focus-within .animo-about-panel { display: block; }
.animo-about-link {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  color: #385c6f;
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
}
.animo-about-link:hover,
.animo-about-link:focus { background: #f3ebe0; }

/* Override Squarespace's inline header-link rules inside injected panels. */
#header .animo-services-panel,
#header .animo-services-submenu,
#header .animo-approach-panel { text-align: left !important; }
#header .animo-services-group-title {
  text-align: left !important;
  white-space: normal !important;
}
#header .animo-services-submenu-link,
#header .animo-approach-link,
#header .animo-about-link {
  display: block !important;
  width: 100%;
  text-align: left !important;
  white-space: normal !important;
}

@media screen and (max-width: 840px) {
  .header-menu-nav-item.animo-mobile-services-menu > a,
  .header-menu-nav-item.animo-mobile-approach-menu > a,
  .header-menu-nav-item.animo-mobile-about-menu > a {
    display: flex;
    width: 100% !important;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
  }
  /* Squarespace keeps its native folder chevron inside About. Hide it so the
     shared pink arrow below is the only indicator across all three menus. */
  .header-menu-nav-item.animo-mobile-about-menu > a .header-dropdown-icon {
    display: none !important;
  }
  .header-menu-nav-item.animo-mobile-services-menu > a::after,
  .header-menu-nav-item.animo-mobile-approach-menu > a::after,
  .header-menu-nav-item.animo-mobile-about-menu > a::after {
    content: '›';
    color: #e47f7b;
    font-family: Bitter, Georgia, serif;
    font-size: 26px;
    font-weight: 700;
    line-height: .85;
    flex: 0 0 auto;
    margin-left: .75rem;
    transform: rotate(0deg);
    transition: transform .18s ease;
  }
  .header-menu-nav-item.animo-mobile-services-menu > a[aria-expanded="true"]::after,
  .header-menu-nav-item.animo-mobile-approach-menu > a[aria-expanded="true"]::after,
  .header-menu-nav-item.animo-mobile-about-menu > a[aria-expanded="true"]::after { transform: rotate(90deg); }
  .animo-mobile-services-detail { display: none; padding: 0 1.5rem 1rem; }
  .animo-mobile-services-detail.is-open { display: block; }
  .animo-mobile-approach-detail { display: none; padding: 0 1.5rem 1rem; }
  .animo-mobile-approach-detail.is-open { display: block; }
  .animo-mobile-about-detail { display: none; padding: 0 1.5rem 1rem; }
  .animo-mobile-about-detail.is-open { display: block; }
  .animo-mobile-services-group { margin: 12px 0 18px; }
  .animo-mobile-services-group-title {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 8px 0;
    color: #385c6f;
    font-family: Bitter, Georgia, serif;
    font-size: .95rem;
    font-weight: 700;
    text-decoration: none;
  }
  .animo-mobile-services-group-title::after {
    content: '›';
    color: #e47f7b;
    font-size: 23px;
    line-height: .85;
    flex: 0 0 auto;
    margin-left: .75rem;
    transform: rotate(0deg);
    transition: transform .18s ease;
  }
  .animo-mobile-services-group-title[aria-expanded="true"]::after { transform: rotate(90deg); }
  .animo-mobile-service-pages { display: none; }
  .animo-mobile-service-pages.is-open { display: block; }
  .animo-mobile-services-submenu-link {
    display: block;
    padding: 7px 0 7px 14px;
    color: #385c6f;
    font-family: Bitter, Georgia, serif;
    font-size: .95rem;
    line-height: 1.4;
    text-decoration: none;
  }
}

/* Match About's former native-folder trigger to the approved primary-nav scale. */
#header .header-display-desktop .header-nav-item.animo-about-menu .header-nav-folder-title {
  font-family: Bitter, Georgia, serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
