/* Final global header/footer layer for reference-site parity. */
:root {
  --global-header-bg: #454342;
  --global-footer-bg: #78263c;
  --global-yellow: #ffb735;
  --global-mint: #d6f4e7;
  --global-page-width: 1280px;
}

html body {
  background: #151515;
}

html body .site-header {
  position: relative;
  z-index: 90;
  width: min(var(--global-page-width), 100%) !important;
  margin: 0 auto;
  background: var(--global-header-bg) !important;
  color: #fff;
  box-shadow: none;
}

html body header.elementor-location-header,
html body footer.elementor-location-footer {
  display: none !important;
}

html body .header-top {
  display: none !important;
}

html body .header-main {
  width: min(1200px, calc(100% - 80px));
  min-height: 129px !important;
  display: grid !important;
  grid-template-columns: 230px minmax(0, 1fr) 44px auto;
  align-items: center;
  gap: 16px !important;
  padding: 0 !important;
}

html body .site-brand {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  justify-self: start;
  gap: 8px !important;
  color: #fff !important;
  font-family: var(--sh-body-font, "Work Sans Local", Arial, sans-serif);
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1;
  letter-spacing: 1.6px !important;
  text-transform: uppercase;
}

html body .site-brand:hover,
html body .site-brand:focus-visible {
  color: #fff !important;
}

html body .site-brand img,
html body .custom-logo-link img {
  width: 62px !important;
  max-width: 62px !important;
  height: 62px !important;
  max-height: 62px !important;
  object-fit: contain;
}

html body .brand-text {
  display: block;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1;
  letter-spacing: 1.6px !important;
}

html body .primary-nav {
  justify-self: center;
  min-width: 0;
}

html body .primary-nav ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px !important;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-wrap: nowrap;
}

html body .primary-nav li {
  position: relative;
}

html body .primary-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px !important;
  padding: 0 14px !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: transparent;
  font-family: var(--sh-body-font, "Work Sans Local", Arial, sans-serif);
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2;
  letter-spacing: 0 !important;
  text-transform: none;
  white-space: nowrap;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

html body .primary-nav a:hover,
html body .primary-nav .current-menu-item > a,
html body .primary-nav .current_page_item > a {
  background: var(--global-mint) !important;
  color: #000 !important;
}

html body .header-search {
  appearance: none;
  position: relative;
  display: inline-grid !important;
  width: 44px !important;
  height: 44px !important;
  place-items: center;
  justify-self: center;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer;
}

html body .header-search::before {
  content: "";
  width: 17px;
  height: 17px;
  border: 2px solid #fff;
  border-radius: 50%;
}

html body .header-search::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 2px;
  background: #fff;
  transform: translate(10px, 10px) rotate(45deg);
}

html body.is-search-open {
  overflow: hidden;
}

html body .site-search-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: start center;
  padding: 96px 20px 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

html body .site-search-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

html body .site-search-modal__backdrop {
  appearance: none;
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0, 0, 0, .62);
  cursor: pointer;
}

html body .site-search-modal__panel {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  padding: 42px 48px 48px;
  background: var(--global-header-bg);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .34);
  transform: translateY(-12px);
  transition: transform .2s ease;
}

html body .site-search-modal.is-open .site-search-modal__panel {
  transform: translateY(0);
}

html body .site-search-modal__close {
  appearance: none;
  position: absolute;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
}

html body .site-search-modal__close::before,
html body .site-search-modal__close::after {
  content: "";
  position: absolute;
  top: 18px;
  left: 9px;
  width: 20px;
  height: 2px;
  background: currentColor;
}

html body .site-search-modal__close::before {
  transform: rotate(45deg);
}

html body .site-search-modal__close::after {
  transform: rotate(-45deg);
}

html body .site-search-modal__form {
  display: grid;
  gap: 14px;
}

html body .site-search-modal__form label {
  color: #fff;
  font-size: 18px;
  font-weight: 600;
}

html body .site-search-modal__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 64px;
  min-height: 64px;
  background: #fff;
}

html body .site-search-modal__row input[type="search"] {
  width: 100%;
  min-width: 0;
  border: 0;
  padding: 0 20px;
  background: #fff;
  color: #1e1e1e;
  font-family: var(--sh-body-font, "Work Sans Local", Arial, sans-serif);
  font-size: 22px;
  outline: none;
}

html body .site-search-modal__submit {
  appearance: none;
  position: relative;
  display: grid;
  place-items: center;
  border: 0;
  background: var(--global-yellow);
  cursor: pointer;
}

html body .site-search-modal__submit::before {
  content: "";
  width: 18px;
  height: 18px;
  border: 3px solid #000;
  border-radius: 50%;
}

html body .site-search-modal__submit::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 3px;
  background: #000;
  transform: translate(11px, 11px) rotate(45deg);
}

html body .header-donate {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 98px;
  min-height: 53px !important;
  padding: 0 27px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: var(--global-yellow) !important;
  color: #000 !important;
  box-shadow: none !important;
  font-family: var(--sh-body-font, "Work Sans Local", Arial, sans-serif);
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1;
  transition: background-color .2s ease, transform .2s ease;
}

html body .header-donate:hover,
html body .header-donate:focus-visible {
  background: #f4a91f !important;
  color: #000 !important;
  transform: translateY(-1px);
}

html body .header-donate-mobile {
  display: none !important;
}

html body .header-donate.header-donate-mobile {
  display: none !important;
}

html body .menu-toggle {
  display: none;
  place-content: center;
  gap: 6px;
  width: 52px;
  height: 52px;
  border: 0;
  border-radius: 6px;
  background: var(--global-yellow);
  cursor: pointer;
}

html body .menu-toggle span {
  display: block;
  width: 26px;
  height: 3px;
  border-radius: 999px;
  background: #111;
  transition: opacity .2s ease, transform .2s ease;
}

html body .menu-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(9px) rotate(45deg);
}

html body .menu-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

html body .menu-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg);
}

html body .site-header.is-scrolled {
  box-shadow: 0 14px 34px rgba(0, 0, 0, .16);
}

html body .site-footer {
  position: relative;
  width: min(var(--global-page-width), 100%) !important;
  margin: 0 auto;
  padding-top: 60px !important;
  overflow: hidden;
  background: var(--global-footer-bg) !important;
  color: #fff;
}

html body .site-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 62px;
  background: var(--sh-cream, #faf6f2);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  pointer-events: none;
}

html body .footer-logo-band {
  display: grid;
  min-height: 520px !important;
  padding: 0 20px 48px !important;
  place-items: center;
  background: transparent !important;
}

html body .footer-logo-band img {
  width: 516px !important;
  max-width: min(72vw, 516px) !important;
  height: auto !important;
}

html body .footer-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(0, .85fr) minmax(260px, 1.05fr) !important;
  gap: 72px !important;
  padding: 0 0 86px !important;
}

html body .footer-column {
  min-width: 0;
}

html body .footer-grid h3 {
  margin: 0 0 28px !important;
  color: #fff !important;
  font-family: var(--sh-body-font, "Work Sans Local", Arial, sans-serif) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1.2;
}

html body .footer-grid ul {
  display: grid;
  gap: 13px !important;
  margin: 0;
  padding: 0;
  list-style: none;
}

html body .footer-grid a {
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 400;
  line-height: 1.55;
}

html body .footer-grid a:hover {
  color: var(--global-yellow) !important;
}

html body .footer-trust {
  display: grid;
  justify-items: center;
  gap: 12px !important;
  max-width: 300px;
  margin-top: 54px !important;
  color: #fff;
  text-align: center;
}

html body .footer-trust span {
  display: inline-grid;
  width: 46px;
  height: 40px;
  place-items: center;
  color: #ffc65a !important;
  font-family: Arial, sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1;
}

html body .footer-trust strong {
  max-width: 290px;
  color: #fff;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.4;
}

html body .footer-trust em {
  color: var(--global-yellow);
  font-size: 16px;
  font-style: normal;
  line-height: 1.4;
}

html body .footer-subscribe-title {
  max-width: none;
  margin: 0 0 42px !important;
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1.4;
}

html body .social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 15px !important;
  margin: 0 !important;
}

html body .social-links a {
  display: inline-grid;
  position: relative;
  width: 45px !important;
  height: 45px !important;
  place-items: center;
  border-radius: 50%;
  background: #fff !important;
  color: var(--global-footer-bg) !important;
  font-family: Arial, sans-serif;
  font-size: 21px !important;
  font-weight: 700;
  line-height: 1;
}

html body .social-links a:nth-child(3) span {
  width: 18px;
  height: 13px;
  border-radius: 4px;
  background: currentColor;
  color: transparent;
  font-size: 0;
}

html body .social-links a:nth-child(3) span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 7px solid #fff;
  transform: translate(-35%, -50%);
}

html body .social-links a:hover {
  background: var(--global-yellow) !important;
  color: #000 !important;
}

html body .footer-form-slot {
  margin-top: 28px;
}

html body .footer-form-slot.is-empty {
  display: none !important;
}

html body .footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .18) !important;
  padding: 84px 0 94px !important;
  background: transparent !important;
  text-align: center;
}

html body .footer-bottom p {
  margin: 0 0 4px !important;
  color: rgba(255, 255, 255, .62) !important;
  font-size: 15px !important;
  line-height: 1.4;
}

html body .footer-bottom h6 {
  margin: 0;
  color: rgba(0, 0, 0, .92) !important;
  font-family: var(--sh-body-font, "Work Sans Local", Arial, sans-serif);
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.4;
}

html body .footer-bottom h6 span {
  color: #ff4c73;
}

html body .sh-back-top {
  width: 55px !important;
  height: 55px !important;
  right: 30px !important;
  bottom: 30px !important;
  border-radius: 6px !important;
  background: var(--global-yellow) !important;
  color: #000 !important;
  font-size: 0 !important;
}

html body .sh-back-top::before {
  content: "";
  width: 12px;
  height: 12px;
  border-top: 3px solid currentColor;
  border-left: 3px solid currentColor;
  transform: translateY(4px) rotate(45deg);
}

@media (min-width: 1181px) and (max-width: 1320px) {
  html body .header-main {
    grid-template-columns: 190px minmax(0, 1fr) 44px 112px;
    gap: 12px !important;
  }

  html body .primary-nav ul {
    gap: 6px !important;
  }

  html body .primary-nav a {
    padding-inline: 8px !important;
    font-size: 14px !important;
  }

  html body .footer-grid {
    gap: 48px !important;
  }
}

@media (min-width: 641px) and (max-width: 1180px) {
  html body .site-header {
    position: relative;
  }

  html body .header-main {
    width: min(100% - 40px, 720px);
    min-height: 127px !important;
    grid-template-columns: minmax(0, 1fr) 44px 104px 52px !important;
    gap: 20px !important;
  }

  html body .header-search {
    display: inline-grid !important;
  }

  html body .header-donate {
    display: inline-flex !important;
    min-width: 96px;
    min-height: 52px !important;
    padding-inline: 24px !important;
  }

  html body .header-donate.header-donate-mobile {
    display: none !important;
  }

  html body .menu-toggle {
    display: inline-grid !important;
  }

  html body .primary-nav {
    position: absolute !important;
    top: 100%;
    left: 50%;
    z-index: 80;
    width: min(360px, calc(100vw - 40px));
    max-height: calc(100vh - 140px);
    display: block !important;
    overflow-y: auto;
    padding: 18px 22px;
    background: var(--global-footer-bg) !important;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .26);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 12px);
    transition: opacity .22s ease, transform .22s ease;
  }

  html body .primary-nav.is-open,
  html body.nav-open .primary-nav,
  html body.is-menu-open .primary-nav {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
  }

  html body .primary-nav ul {
    display: grid !important;
    gap: 0 !important;
    justify-content: stretch;
    background: transparent !important;
  }

  html body .primary-nav li {
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
  }

  html body .primary-nav a {
    display: flex !important;
    width: 100%;
    min-height: 48px !important;
    justify-content: flex-start;
    padding: 12px 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 16px !important;
  }

  html body .primary-nav a:hover,
  html body .primary-nav .current-menu-item > a,
  html body .primary-nav .current_page_item > a {
    color: var(--global-yellow) !important;
  }

  html body .primary-nav .current-menu-item > a,
  html body .primary-nav .current_page_item > a {
    background: var(--global-mint) !important;
    color: #000 !important;
    padding-inline: 10px !important;
  }

  html body .footer-logo-band {
    min-height: 520px !important;
    padding-bottom: 34px !important;
  }

  html body .footer-logo-band img {
    width: 560px !important;
    max-width: min(82vw, 560px) !important;
  }

  html body .footer-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 58px 70px !important;
    padding: 0 30px 78px !important;
  }

  html body .footer-newsletter {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  html body .site-search-modal {
    padding: 82px 16px 16px;
  }

  html body .site-search-modal__panel {
    padding: 38px 20px 24px;
  }

  html body .site-search-modal__row {
    grid-template-columns: minmax(0, 1fr) 56px;
    min-height: 58px;
  }

  html body .site-search-modal__row input[type="search"] {
    padding-inline: 14px;
    font-size: 18px;
  }

  html body .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100% !important;
    background: rgba(69, 67, 66, .94) !important;
  }

  html body .header-main {
    width: 100%;
    min-height: 125px !important;
    grid-template-columns: minmax(0, 1fr) 52px !important;
    gap: 14px !important;
    padding: 0 20px !important;
  }

  html body .site-brand {
    align-items: flex-start;
    gap: 8px !important;
    font-size: 14px !important;
  }

  html body .site-brand img,
  html body .custom-logo-link img {
    width: 62px !important;
    max-width: 62px !important;
    height: 62px !important;
    max-height: 62px !important;
  }

  html body .brand-text {
    max-width: 180px;
    color: #fff !important;
    font-size: 14px !important;
    letter-spacing: 1.4px !important;
    white-space: nowrap;
  }

  html body .header-search,
  html body .header-donate,
  html body .header-donate-mobile {
    display: none !important;
  }

  html body .menu-toggle {
    display: inline-grid !important;
    justify-self: end;
    width: 52px !important;
    height: 52px !important;
    border-radius: 6px !important;
  }

  html body .primary-nav {
    position: fixed !important;
    top: 125px;
    right: auto;
    bottom: 0;
    left: 0;
    z-index: 1001;
    display: block !important;
    width: min(330px, 86vw);
    max-height: none;
    overflow-y: auto;
    padding: 26px 22px 34px;
    background: var(--global-footer-bg) !important;
    box-shadow: 20px 0 60px rgba(0, 0, 0, .28);
    opacity: 0;
    pointer-events: none;
    transform: translateX(-100%);
    transition: opacity .22s ease, transform .22s ease;
  }

  html body .primary-nav::before {
    content: "";
    position: fixed;
    top: 125px;
    right: 0;
    bottom: 0;
    left: min(330px, 86vw);
    background: rgba(0, 0, 0, .34);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
  }

  html body .primary-nav.is-open,
  html body.nav-open .primary-nav,
  html body.is-menu-open .primary-nav {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
  }

  html body .primary-nav.is-open::before,
  html body.nav-open .primary-nav::before,
  html body.is-menu-open .primary-nav::before {
    opacity: 1;
  }

  html body .primary-nav ul {
    display: grid !important;
    align-items: stretch;
    gap: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  html body .primary-nav li {
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
  }

  html body .primary-nav a {
    display: flex !important;
    width: 100%;
    min-height: 50px !important;
    align-items: center;
    justify-content: flex-start;
    padding: 13px 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.3;
    white-space: normal;
  }

  html body .primary-nav a:hover,
  html body .primary-nav .current-menu-item > a,
  html body .primary-nav .current_page_item > a {
    color: var(--global-yellow) !important;
  }

  html body .primary-nav .current-menu-item > a,
  html body .primary-nav .current_page_item > a {
    background: var(--global-mint) !important;
    color: #000 !important;
    padding-inline: 10px !important;
  }

  html body.nav-open,
  html body.is-menu-open {
    overflow: hidden;
  }

  html body .site-footer {
    width: 100% !important;
    padding-top: 50px !important;
  }

  html body .site-footer::before {
    height: 50px;
  }

  html body .footer-logo-band {
    min-height: 390px !important;
    padding: 0 20px 28px !important;
    align-items: start;
  }

  html body .footer-logo-band img {
    width: 350px !important;
    max-width: calc(100vw - 40px) !important;
  }

  html body .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 0 20px 48px !important;
  }

  html body .footer-grid h3 {
    margin-bottom: 20px !important;
    font-size: 24px !important;
  }

  html body .footer-grid ul {
    gap: 9px !important;
  }

  html body .footer-trust {
    max-width: 100%;
    margin-top: 28px !important;
    gap: 10px !important;
  }

  html body .footer-trust strong {
    max-width: none;
    font-size: 16px;
    line-height: 1.35;
  }

  html body .footer-trust span {
    height: 34px;
    font-size: 34px;
  }

  html body .footer-subscribe-title {
    margin-bottom: 22px !important;
  }

  html body .social-links {
    gap: 12px !important;
  }

  html body .footer-bottom {
    padding: 40px 20px 52px !important;
  }

  html body .footer-bottom p {
    font-size: 14px !important;
  }

  html body .sh-back-top {
    right: 30px !important;
    bottom: 66px !important;
    width: 55px !important;
    height: 55px !important;
  }
}

@media (min-width: 641px) and (max-width: 1180px) {
  html body .header-donate-mobile,
  html body.home .header-donate-mobile,
  html body.page-id-6 .header-donate-mobile,
  html body.page-id-155 .header-donate-mobile,
  html body.post-type-archive-sh_campaign .header-donate-mobile,
  html body.single-sh_campaign .header-donate-mobile {
    display: none !important;
  }

  html body.home .primary-nav {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    z-index: 80 !important;
    width: min(360px, calc(100vw - 40px)) !important;
    max-height: calc(100vh - 140px) !important;
    display: block !important;
    overflow-y: auto !important;
    padding: 18px 22px !important;
    background: var(--global-footer-bg) !important;
    border-top: 0 !important;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .26) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate(-50%, 12px) !important;
    transition: opacity .22s ease, transform .22s ease !important;
  }

  html body.home .primary-nav.is-open,
  html body.home.nav-open .primary-nav,
  html body.home.is-menu-open .primary-nav {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
  }
}

@media (max-width: 640px) {
  html body.home .site-header {
    position: sticky !important;
    top: 0 !important;
    width: 100% !important;
    background: rgba(69, 67, 66, .94) !important;
  }

  html body.home .header-main {
    min-height: 125px !important;
    grid-template-columns: minmax(0, 1fr) 52px !important;
    gap: 14px !important;
    padding: 0 20px !important;
  }

  html body.home .site-brand img,
  html body.home .custom-logo-link img {
    width: 62px !important;
    max-width: 62px !important;
    height: 62px !important;
    max-height: 62px !important;
  }

  html body.home .brand-text {
    max-width: 180px !important;
    font-size: 14px !important;
    letter-spacing: 1.4px !important;
  }

  html body.home .primary-nav {
    position: fixed !important;
    top: 125px !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 100 !important;
    display: block !important;
    width: min(330px, 86vw) !important;
    max-height: none !important;
    overflow-y: auto !important;
    padding: 26px 22px 34px !important;
    background: var(--global-footer-bg) !important;
    border-top: 0 !important;
    box-shadow: 20px 0 60px rgba(0, 0, 0, .28) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(-100%) !important;
    transition: opacity .22s ease, transform .22s ease !important;
  }

  html body.home .primary-nav.is-open,
  html body.home.nav-open .primary-nav,
  html body.home.is-menu-open .primary-nav {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
  }

  html body.home .primary-nav ul {
    display: grid !important;
    gap: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  html body.home .primary-nav li {
    border-top: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
  }

  html body.home .primary-nav a {
    display: flex !important;
    min-height: 50px !important;
    padding: 13px 0 !important;
    color: #fff !important;
  }

  html body.home .primary-nav .current-menu-item > a,
  html body.home .primary-nav .current_page_item > a {
    background: var(--global-mint) !important;
    color: #000 !important;
    padding-inline: 10px !important;
  }
}

/* Codex global header/footer final pass: WP submenus, compact angled footer, reference form. */
html body .primary-nav .menu-item-has-children > a {
  gap: 8px;
}

html body .primary-nav .menu-item-has-children > a::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}

html body .primary-nav .sub-menu {
  position: absolute !important;
  top: calc(100% + 8px);
  left: 0;
  z-index: 120;
  display: grid !important;
  min-width: 220px;
  gap: 0 !important;
  margin: 0 !important;
  padding: 10px 0 !important;
  list-style: none;
  background: var(--global-footer-bg) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .24);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease;
}

html body .primary-nav .sub-menu::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 8px;
}

html body .primary-nav li:hover > .sub-menu,
html body .primary-nav li:focus-within > .sub-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

html body .primary-nav .sub-menu .sub-menu {
  top: -10px;
  left: calc(100% - 1px);
  z-index: 130;
}

html body .primary-nav .sub-menu .sub-menu::before {
  top: 0;
  right: 100%;
  bottom: 0;
  left: auto;
  width: 8px;
  height: auto;
}

html body .primary-nav .sub-menu .menu-item-has-children > a::after {
  margin-left: auto;
  transform: rotate(-45deg);
}

html body .primary-nav .sub-menu li {
  width: 100%;
}

html body .primary-nav .sub-menu a {
  width: 100%;
  min-height: 42px !important;
  justify-content: flex-start;
  padding: 10px 16px !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: 14px !important;
  white-space: normal;
}

html body .primary-nav .sub-menu a:hover,
html body .primary-nav .sub-menu .current-menu-item > a,
html body .primary-nav .sub-menu .current_page_item > a {
  background: rgba(214, 244, 231, .96) !important;
  color: #000 !important;
}

html body .site-footer {
  padding-top: 0 !important;
  background: var(--global-footer-bg) !important;
  isolation: isolate;
}

html body .site-footer::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 2;
  display: block !important;
  height: 58px;
  background: var(--sh-cream, #faf6f2);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  pointer-events: none;
}

html body .footer-logo-band {
  min-height: auto !important;
  padding: 82px 20px 30px !important;
  background: var(--global-footer-bg) !important;
  place-items: center !important;
  align-items: center !important;
}

html body .footer-logo-band a {
  display: inline-grid;
  place-items: center;
}

html body .footer-logo-band img {
  width: 132px !important;
  max-width: 132px !important;
  max-height: 132px !important;
  height: auto !important;
  object-fit: contain;
}

html body .footer-grid {
  padding-top: 16px !important;
  padding-bottom: 66px !important;
}

html body .footer-subscribe-title {
  margin-bottom: 24px !important;
}

html body .footer-newsletter .social-links {
  margin-bottom: 26px !important;
}

html body .social-links a {
  font-size: 20px !important;
}

html body .social-links a span {
  position: relative;
  display: grid;
  place-items: center;
}

html body .social-instagram .social-icon-instagram {
  width: 19px;
  height: 19px;
  border: 2px solid currentColor;
  border-radius: 6px;
  background: transparent !important;
  color: inherit !important;
  font-size: 0;
}

html body .social-instagram .social-icon-instagram::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

html body .social-instagram .social-icon-instagram::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 3px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
}

html body .social-youtube .social-icon-youtube {
  width: 20px;
  height: 14px;
  border-radius: 4px;
  background: currentColor !important;
  color: transparent !important;
  font-size: 0 !important;
}

html body .social-youtube .social-icon-youtube::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 7px solid #fff;
  transform: translate(-35%, -50%);
}

html body .social-youtube:hover .social-icon-youtube::before,
html body .social-youtube:focus-visible .social-icon-youtube::before {
  border-left-color: #000;
}

html body .footer-form-slot {
  display: block !important;
  width: min(100%, 420px);
  margin-top: 26px !important;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

html body .footer-form-slot.is-empty {
  display: block !important;
  min-height: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body .footer-subscribe-form,
html body .footer-form-slot form {
  display: grid !important;
  gap: 12px !important;
  max-width: 100%;
  margin: 0;
}

html body .footer-field,
html body .footer-form-slot p {
  display: grid;
  gap: 6px;
  margin: 0 !important;
}

html body .footer-field label,
html body .footer-form-slot label {
  color: rgba(255, 255, 255, .78) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.3;
}

html body .footer-field label span {
  color: var(--global-yellow);
}

html body .footer-subscribe-form input[type="email"],
html body .footer-subscribe-form input[type="text"],
html body .footer-subscribe-form textarea,
html body .footer-form-slot input[type="email"],
html body .footer-form-slot input[type="text"],
html body .footer-form-slot input[type="url"],
html body .footer-form-slot input[type="tel"],
html body .footer-form-slot input[type="number"],
html body .footer-form-slot input:not([type]):not([type="hidden"]),
html body .footer-form-slot textarea {
  width: 100% !important;
  min-width: 0;
  min-height: 48px;
  border: 0 !important;
  border-radius: 4px !important;
  background: #fff !important;
  padding: 0 14px !important;
  color: #1e1e1e;
  font-family: var(--sh-body-font, "Work Sans Local", Arial, sans-serif);
  font-size: 15px;
  outline: none;
}

html body .footer-subscribe-form textarea,
html body .footer-form-slot textarea {
  min-height: 112px;
  padding-top: 13px !important;
  resize: vertical;
}

html body .footer-subscribe-form button,
html body .footer-form-slot button,
html body .footer-form-slot input[type="submit"] {
  justify-self: start;
  min-height: 52px !important;
  min-width: 142px;
  border: 0 !important;
  border-radius: 4px !important;
  padding: 0 24px !important;
  background: var(--global-yellow) !important;
  color: #000 !important;
  font-family: var(--sh-body-font, "Work Sans Local", Arial, sans-serif);
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer;
}

html body .footer-subscribe-form button:hover,
html body .footer-subscribe-form button:focus-visible,
html body .footer-form-slot button:hover,
html body .footer-form-slot button:focus-visible,
html body .footer-form-slot input[type="submit"]:hover,
html body .footer-form-slot input[type="submit"]:focus-visible {
  background: #f4a91f !important;
  color: #000 !important;
}

@media (min-width: 641px) and (max-width: 1180px) {
  html body .primary-nav .menu-item-has-children > a::after {
    margin-left: auto;
  }

  html body .primary-nav .sub-menu,
  html body.home .primary-nav .sub-menu {
    position: static !important;
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 0 0 14px !important;
    background: rgba(255, 255, 255, .06) !important;
    box-shadow: none;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  html body .primary-nav .sub-menu::before,
  html body.home .primary-nav .sub-menu::before {
    display: none;
  }

  html body .primary-nav .sub-menu a,
  html body.home .primary-nav .sub-menu a {
    min-height: 44px !important;
    padding: 10px 0 10px 14px !important;
    font-size: 14px !important;
  }

  html body .site-footer::before {
    height: 52px;
  }

  html body .footer-logo-band {
    min-height: auto !important;
    padding: 76px 20px 28px !important;
  }

  html body .footer-logo-band img {
    width: 118px !important;
    max-width: 118px !important;
  }
}

@media (max-width: 640px) {
  html body .primary-nav .menu-item-has-children > a::after {
    margin-left: auto;
  }

  html body .primary-nav .sub-menu,
  html body.home .primary-nav .sub-menu {
    position: static !important;
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 0 0 14px !important;
    background: rgba(255, 255, 255, .06) !important;
    box-shadow: none;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  html body .primary-nav .sub-menu::before,
  html body.home .primary-nav .sub-menu::before {
    display: none;
  }

  html body .primary-nav .sub-menu a,
  html body.home .primary-nav .sub-menu a {
    min-height: 44px !important;
    padding: 10px 0 10px 14px !important;
    font-size: 14px !important;
  }

  html body .site-footer::before {
    height: 42px;
  }

  html body .footer-logo-band {
    min-height: auto !important;
    padding: 64px 20px 24px !important;
    align-items: center !important;
  }

  html body .footer-logo-band img {
    width: 104px !important;
    max-width: 104px !important;
    max-height: 104px !important;
  }

  html body .footer-form-slot {
    width: 100%;
  }

  html body .footer-subscribe-form button,
  html body .footer-form-slot button,
  html body .footer-form-slot input[type="submit"] {
    width: 100%;
    justify-self: stretch;
  }
}

/* Codex footer boundary correction: burgundy footer rises to a centered peak. */
html body .site-footer {
  --footer-angle-height: 88px;
  background: var(--sh-cream, #faf6f2) !important;
  isolation: isolate;
}

html body .site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block !important;
  height: auto !important;
  background: var(--global-footer-bg) !important;
  clip-path: polygon(0 var(--footer-angle-height), 50% 0, 100% var(--footer-angle-height), 100% 100%, 0 100%) !important;
  pointer-events: none;
}

html body .site-footer > * {
  position: relative;
  z-index: 1;
}

html body .footer-logo-band {
  background: transparent !important;
}

html body .social-youtube .social-icon-youtube {
  width: 20px !important;
  height: 14px !important;
  border-radius: 4px !important;
  background: var(--global-footer-bg) !important;
  color: var(--global-footer-bg) !important;
  font-size: 0 !important;
}

html body .social-youtube .social-icon-youtube::before {
  border-left-color: #fff !important;
}

html body .social-youtube:hover .social-icon-youtube,
html body .social-youtube:focus-visible .social-icon-youtube {
  background: #000 !important;
  color: #000 !important;
}

@media (max-width: 640px) {
  html body .site-footer {
    --footer-angle-height: 48px;
  }
}

/* Codex footer form pass: match reference two-column newsletter/contact form. */
@media (min-width: 981px) {
  html body .footer-grid {
    grid-template-columns: minmax(150px, .55fr) minmax(150px, .55fr) minmax(560px, 1.55fr) !important;
    gap: 52px !important;
  }
}

html body .footer-newsletter {
  width: min(672px, 100%);
  justify-self: end;
}

html body .footer-subscribe-title {
  margin: 0 0 74px !important;
  color: #fff !important;
  font-size: 25px !important;
  line-height: 1.25 !important;
}

html body .footer-newsletter .social-links {
  gap: 16px !important;
  margin: 0 0 78px !important;
}

html body .footer-newsletter .social-links a {
  width: 66px !important;
  height: 66px !important;
  background: #fff !important;
  color: var(--global-footer-bg) !important;
  font-size: 29px !important;
  line-height: 1 !important;
}

html body .footer-newsletter .social-facebook span,
html body .footer-newsletter .social-x span {
  font-size: 29px !important;
  font-weight: 700 !important;
}

html body .footer-newsletter .social-instagram .social-icon-instagram {
  width: 26px !important;
  height: 26px !important;
  border-width: 3px !important;
  border-radius: 8px !important;
}

html body .footer-newsletter .social-instagram .social-icon-instagram::before {
  width: 7px !important;
  height: 7px !important;
}

html body .footer-newsletter .social-instagram .social-icon-instagram::after {
  top: 4px !important;
  right: 4px !important;
  width: 4px !important;
  height: 4px !important;
}

html body .footer-newsletter .social-youtube .social-icon-youtube {
  width: 29px !important;
  height: 20px !important;
  border-radius: 5px !important;
  background: var(--global-footer-bg) !important;
}

html body .footer-newsletter .social-youtube .social-icon-youtube::before {
  border-top-width: 5px !important;
  border-bottom-width: 5px !important;
  border-left-width: 9px !important;
}

html body .footer-form-slot.footer-subscribe-form,
html body .footer-newsletter .footer-subscribe-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px 30px !important;
  width: 100% !important;
  max-width: 672px !important;
  margin: 0 !important;
}

html body .footer-field {
  gap: 14px !important;
}

html body .footer-field--message {
  grid-column: 1 / -1;
}

html body .footer-field label,
html body .footer-form-slot label {
  color: #000 !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}

html body .footer-field label span {
  color: #000 !important;
}

html body .footer-subscribe-form input[type="email"],
html body .footer-subscribe-form input[type="text"],
html body .footer-subscribe-form textarea,
html body .footer-form-slot input[type="email"],
html body .footer-form-slot input[type="text"],
html body .footer-form-slot textarea {
  min-height: 84px !important;
  border-radius: 8px !important;
  padding: 0 18px !important;
  font-size: 18px !important;
}

html body .footer-subscribe-form textarea,
html body .footer-form-slot textarea {
  min-height: 180px !important;
  padding-top: 16px !important;
}

html body .footer-subscribe-form button,
html body .footer-form-slot button,
html body .footer-form-slot input[type="submit"] {
  grid-column: 1 / -1;
  justify-self: start !important;
  min-width: 235px !important;
  min-height: 78px !important;
  margin-top: -4px !important;
  border-radius: 8px !important;
  padding: 0 32px !important;
  box-shadow: 0 5px 8px rgba(0, 0, 0, .2) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
}

@media (max-width: 980px) {
  html body .footer-newsletter {
    width: 100%;
    justify-self: stretch;
  }
}

@media (max-width: 640px) {
  html body .footer-subscribe-title {
    margin-bottom: 36px !important;
    font-size: 22px !important;
  }

  html body .footer-newsletter .social-links {
    margin-bottom: 42px !important;
  }

  html body .footer-newsletter .social-links a {
    width: 56px !important;
    height: 56px !important;
  }

  html body .footer-form-slot.footer-subscribe-form,
  html body .footer-newsletter .footer-subscribe-form {
    grid-template-columns: 1fr;
    gap: 24px !important;
  }

  html body .footer-field label,
  html body .footer-form-slot label {
    font-size: 21px !important;
  }

  html body .footer-subscribe-form input[type="email"],
  html body .footer-subscribe-form input[type="text"],
  html body .footer-subscribe-form textarea,
  html body .footer-form-slot input[type="email"],
  html body .footer-form-slot input[type="text"],
  html body .footer-form-slot textarea {
    min-height: 68px !important;
  }

  html body .footer-subscribe-form button,
  html body .footer-form-slot button,
  html body .footer-form-slot input[type="submit"] {
    width: auto !important;
    min-width: 210px !important;
    min-height: 66px !important;
    font-size: 21px !important;
  }
}

/* Codex footer compact pass: keep the right column close to the reference footer. */
@media (min-width: 981px) {
  html body .footer-grid {
    grid-template-columns: minmax(160px, .85fr) minmax(150px, .75fr) minmax(320px, 420px) !important;
    gap: 64px !important;
  }
}

html body .footer-newsletter {
  width: min(420px, 100%) !important;
  justify-self: end;
}

html body .footer-subscribe-title {
  margin-bottom: 24px !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
}

html body .footer-newsletter .social-links {
  gap: 10px !important;
  margin: 0 0 26px !important;
}

html body .footer-newsletter .social-links a {
  width: 44px !important;
  height: 44px !important;
  font-size: 20px !important;
}

html body .footer-newsletter .social-facebook span,
html body .footer-newsletter .social-x span {
  font-size: 20px !important;
}

html body .footer-newsletter .social-instagram .social-icon-instagram {
  width: 19px !important;
  height: 19px !important;
  border-width: 2px !important;
  border-radius: 6px !important;
}

html body .footer-newsletter .social-instagram .social-icon-instagram::before {
  width: 5px !important;
  height: 5px !important;
}

html body .footer-newsletter .social-instagram .social-icon-instagram::after {
  top: 3px !important;
  right: 3px !important;
  width: 3px !important;
  height: 3px !important;
}

html body .footer-newsletter .social-youtube .social-icon-youtube {
  width: 20px !important;
  height: 14px !important;
  border-radius: 4px !important;
}

html body .footer-newsletter .social-youtube .social-icon-youtube::before {
  border-top-width: 4px !important;
  border-bottom-width: 4px !important;
  border-left-width: 7px !important;
}

html body .footer-form-slot.footer-subscribe-form,
html body .footer-newsletter .footer-subscribe-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px !important;
  max-width: 420px !important;
}

html body .footer-field {
  gap: 6px !important;
}

html body .footer-field label,
html body .footer-form-slot label {
  color: rgba(255, 255, 255, .78) !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}

html body .footer-field label span {
  color: var(--global-yellow) !important;
}

html body .footer-subscribe-form input[type="email"],
html body .footer-subscribe-form input[type="text"],
html body .footer-subscribe-form textarea,
html body .footer-form-slot input[type="email"],
html body .footer-form-slot input[type="text"],
html body .footer-form-slot textarea {
  min-height: 48px !important;
  border-radius: 4px !important;
  padding: 0 14px !important;
  font-size: 15px !important;
}

html body .footer-subscribe-form textarea,
html body .footer-form-slot textarea {
  min-height: 112px !important;
  padding-top: 13px !important;
}

html body .footer-subscribe-form button,
html body .footer-form-slot button,
html body .footer-form-slot input[type="submit"] {
  min-width: 142px !important;
  min-height: 52px !important;
  margin-top: 0 !important;
  border-radius: 4px !important;
  padding: 0 24px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

@media (max-width: 640px) {
  html body .footer-newsletter .social-links a {
    width: 44px !important;
    height: 44px !important;
  }

  html body .footer-form-slot.footer-subscribe-form,
  html body .footer-newsletter .footer-subscribe-form {
    gap: 14px !important;
  }
}

/* Codex pass 0.1.12: tablet/mobile menu should behave like the reference offcanvas. */
@media (min-width: 641px) and (max-width: 1180px) {
  html body .site-header {
    position: sticky !important;
    top: 0;
    z-index: 1000;
  }

  html body .primary-nav,
  html body.home .primary-nav {
    position: fixed !important;
    top: 127px !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 1001 !important;
    width: min(350px, 90vw) !important;
    max-height: none !important;
    overflow-y: auto !important;
    padding: 26px 22px 34px !important;
    background: var(--global-footer-bg) !important;
    box-shadow: 20px 0 60px rgba(0, 0, 0, .28) !important;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-100%) !important;
    transition: opacity .22s ease, transform .22s ease;
  }

  html body .primary-nav::before,
  html body.home .primary-nav::before {
    content: "";
    position: fixed;
    top: 127px;
    right: 0;
    bottom: 0;
    left: min(350px, 90vw);
    z-index: -1;
    display: block !important;
    background: rgba(0, 0, 0, .34);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
  }

  html body .primary-nav.is-open,
  html body.nav-open .primary-nav,
  html body.is-menu-open .primary-nav,
  html body.home .primary-nav.is-open,
  html body.home.nav-open .primary-nav,
  html body.home.is-menu-open .primary-nav {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
  }

  html body .primary-nav.is-open::before,
  html body.nav-open .primary-nav::before,
  html body.is-menu-open .primary-nav::before,
  html body.home .primary-nav.is-open::before,
  html body.home.nav-open .primary-nav::before,
  html body.home.is-menu-open .primary-nav::before {
    opacity: 1;
  }

  html body.nav-open,
  html body.is-menu-open {
    overflow: hidden;
  }

  html body .footer-newsletter {
    justify-self: start !important;
  }
}

@media (max-width: 640px) {
  html body .primary-nav,
  html body.home .primary-nav {
    width: min(350px, 90vw) !important;
  }

  html body .primary-nav::before,
  html body.home .primary-nav::before {
    left: min(350px, 90vw) !important;
  }
}

/* Codex pass 0.1.15: reference parity for global navigation, search, footer and plugin forms. */
html body .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html body .mobile-menu-close,
html body .mobile-menu-backdrop {
  display: none;
}

@media (min-width: 1181px) {
  html body .primary-nav .sub-menu {
    top: calc(100% + 42px) !important;
    min-width: 250px !important;
    padding: 26px 0 !important;
    background: rgba(30, 30, 30, .9) !important;
    box-shadow: 0 22px 44px rgba(0, 0, 0, .28) !important;
    transform: translateY(8px);
  }

  html body .primary-nav .sub-menu::before {
    height: 42px !important;
  }

  html body .primary-nav .sub-menu .sub-menu {
    top: -26px !important;
    left: calc(100% + 16px) !important;
  }

  html body .primary-nav .sub-menu .sub-menu::before {
    width: 16px !important;
  }

  html body .primary-nav .sub-menu a {
    min-height: 46px !important;
    padding: 11px 28px !important;
    color: #fff !important;
    font-size: 15px !important;
  }
}

@media (max-width: 1180px) {
  html body .mobile-menu-backdrop {
    position: fixed;
    top: 127px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    display: block;
    border: 0;
    background: rgba(0, 0, 0, .42);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
  }

  html body.is-menu-open .mobile-menu-backdrop,
  html body.nav-open .mobile-menu-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  html body .primary-nav::before,
  html body.home .primary-nav::before {
    display: none !important;
  }

  html body .primary-nav,
  html body.home .primary-nav {
    z-index: 1002 !important;
    padding-top: 66px !important;
  }

  html body .mobile-menu-close {
    position: absolute;
    top: 16px;
    right: 16px;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
  }

  html body .mobile-menu-close::before,
  html body .mobile-menu-close::after {
    content: "";
    position: absolute;
    width: 22px;
    height: 2px;
    background: currentColor;
  }

  html body .mobile-menu-close::before {
    transform: rotate(45deg);
  }

  html body .mobile-menu-close::after {
    transform: rotate(-45deg);
  }

  html body .primary-nav a,
  html body.home .primary-nav a {
    justify-content: center !important;
    text-align: center;
  }

  html body .primary-nav .sub-menu,
  html body.home .primary-nav .sub-menu {
    padding-left: 0 !important;
    background: transparent !important;
  }

  html body .primary-nav .sub-menu a,
  html body.home .primary-nav .sub-menu a {
    justify-content: center !important;
    padding-left: 0 !important;
    color: rgba(255, 255, 255, .82) !important;
    font-size: 14px !important;
  }
}

@media (max-width: 640px) {
  html body .mobile-menu-backdrop {
    top: 125px;
  }
}

html body .site-search-modal__panel {
  width: min(80vw, 720px) !important;
}

html body .site-search-modal__row input[type="search"]::placeholder {
  color: rgba(30, 30, 30, .54);
}

html body .site-footer {
  --footer-angle-height: 65px !important;
}

@media (min-width: 641px) and (max-width: 1180px) {
  html body .site-footer {
    --footer-angle-height: 50px !important;
  }
}

/* Desktop submenu overflow guard: hidden dropdowns should not widen the page. */
@media (min-width: 1181px) {
  html body .primary-nav .sub-menu,
  html body.home .primary-nav .sub-menu {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body .primary-nav li:hover > .sub-menu,
  html body .primary-nav li:focus-within > .sub-menu,
  html body.home .primary-nav li:hover > .sub-menu,
  html body.home .primary-nav li:focus-within > .sub-menu {
    display: grid !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

/* Desktop third-level menu: keep hover active while moving from level 2 to 3. */
@media (min-width: 1181px) {
  html body .primary-nav .sub-menu {
    overflow: visible !important;
  }

  html body .primary-nav .sub-menu .menu-item-has-children {
    position: relative !important;
  }

  html body .primary-nav .sub-menu .menu-item-has-children::after {
    content: "";
    position: absolute;
    top: -8px;
    right: -42px;
    bottom: -8px;
    width: 44px;
    background: transparent;
    pointer-events: auto;
  }

  html body .primary-nav .sub-menu .menu-item-has-children::before {
    content: "";
    position: absolute;
    top: -8px;
    bottom: -8px;
    left: -42px;
    width: 44px;
    background: transparent;
    pointer-events: auto;
  }

  html body .primary-nav .sub-menu .sub-menu,
  html body.home .primary-nav .sub-menu .sub-menu {
    top: -26px !important;
    left: calc(100% - 2px) !important;
    z-index: 150 !important;
  }

  html body .primary-nav .sub-menu .sub-menu::before,
  html body.home .primary-nav .sub-menu .sub-menu::before {
    top: 0 !important;
    right: 100% !important;
    bottom: 0 !important;
    left: auto !important;
    width: 44px !important;
    height: auto !important;
    background: transparent !important;
    pointer-events: auto !important;
  }

  html body .primary-nav .primary-menu > .menu-item-has-children:last-child > .sub-menu .sub-menu,
  html body.home .primary-nav .primary-menu > .menu-item-has-children:last-child > .sub-menu .sub-menu {
    right: calc(100% - 2px) !important;
    left: auto !important;
  }

  html body .primary-nav .primary-menu > .menu-item-has-children:last-child > .sub-menu .sub-menu::before,
  html body.home .primary-nav .primary-menu > .menu-item-has-children:last-child > .sub-menu .sub-menu::before {
    right: auto !important;
    left: 100% !important;
  }
}

/* Codex final footer tablet pass 0.1.17g: tighten tablet footer icons and form scale. */
@media (min-width: 641px) and (max-width: 1180px) {
  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter .social-links a,
  html body .site-footer[data-theme-footer="strayhelp"] .social-links a {
    display: inline-grid !important;
    width: 34px !important;
    height: 34px !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #78263c !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .social-link svg {
    display: block !important;
    width: 54% !important;
    height: 54% !important;
    fill: currentColor !important;
    stroke: none !important;
    color: #78263c !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .social-youtube svg {
    width: 60% !important;
    height: 60% !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot.footer-subscribe-form {
    align-items: start !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-field label {
    color: #070707 !important;
    font-family: var(--sh-body-font, Arial, sans-serif) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form input[type="email"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form input[type="text"] {
    height: 40px !important;
    min-height: 40px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form textarea {
    height: 112px !important;
    min-height: 112px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form button {
    height: 40px !important;
    min-height: 40px !important;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .18) !important;
  }
}

/* Codex final footer tablet pass 0.1.17i: remove exposed dark gutters on tablet. */
@media (min-width: 641px) and (max-width: 1180px) {
  html,
  html body {
    background: var(--sh-cream, #faf6f2) !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] {
    --footer-angle-height: 72px !important;
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-top: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: var(--sh-cream, #faf6f2) !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"]::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    background: var(--global-footer-bg, #78263c) !important;
    clip-path: polygon(0 var(--footer-angle-height), 50% 0, 100% var(--footer-angle-height), 100% 100%, 0 100%) !important;
    pointer-events: none !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-logo-band,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-bottom {
    width: min(724px, calc(100% - 44px)) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-logo-band {
    min-height: 430px !important;
    padding: 86px 0 28px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-logo-band img {
    width: 378px !important;
    max-width: min(58vw, 378px) !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 46px 80px !important;
    padding-bottom: 34px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter {
    grid-column: 1 / -1 !important;
  }

  html body .sh-back-top {
    right: 22px !important;
  }
}

/* Codex hotfix 0.1.17e: tablet/mobile overlay enters from the left and covers the viewport. */
@media (max-width: 1180px) {
  html body .primary-nav,
  html body.home .primary-nav {
    position: fixed !important;
    top: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 3000 !important;
    display: flex !important;
    width: 100vw !important;
    height: 100vh !important;
    max-width: none !important;
    max-height: none !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: clamp(112px, 16vh, 180px) clamp(24px, 7vw, 72px) 72px !important;
    align-items: flex-start !important;
    justify-content: center !important;
    overflow-y: auto !important;
    background: #1b1b1b !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    pointer-events: none !important;
    transform: translateX(-100%) !important;
    transition: transform .28s ease !important;
  }

  html body .primary-nav.is-open,
  html body.nav-open .primary-nav,
  html body.is-menu-open .primary-nav,
  html body.home .primary-nav.is-open,
  html body.home.nav-open .primary-nav,
  html body.home.is-menu-open .primary-nav {
    pointer-events: auto !important;
    transform: translateX(0) !important;
  }

  html body .mobile-menu-backdrop,
  html body.home .mobile-menu-backdrop {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body .mobile-menu-close,
  html body.home .mobile-menu-close {
    position: fixed !important;
    top: clamp(28px, 5vw, 54px) !important;
    right: clamp(24px, 5vw, 54px) !important;
    z-index: 3002 !important;
    display: grid !important;
  }

  html body .primary-nav > ul,
  html body .primary-nav .primary-menu,
  html body.home .primary-nav > ul,
  html body.home .primary-nav .primary-menu {
    display: grid !important;
    width: min(780px, 100%) !important;
    max-width: 780px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: clamp(24px, 4vh, 44px) !important;
    align-content: start !important;
    justify-items: center !important;
    list-style: none !important;
    background: transparent !important;
  }

  html body .primary-nav a,
  html body.home .primary-nav a {
    display: inline-flex !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-family: var(--sh-heading-font, Georgia, serif) !important;
    font-size: clamp(34px, 5.4vw, 45px) !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    text-align: center !important;
  }

  html body .primary-nav > ul > li.current-menu-item > a,
  html body .primary-nav > ul > li.current_page_item > a,
  html body .primary-nav .primary-menu > li.current-menu-item > a,
  html body .primary-nav .primary-menu > li.current_page_item > a,
  html body.home .primary-nav > div > ul > li:first-child > a,
  html body.home .primary-nav > ul > li:first-child > a {
    background: transparent !important;
    color: var(--global-yellow, #ffb735) !important;
  }
}

@media (max-width: 640px) {
  html body .site-footer {
    --footer-angle-height: 30px !important;
  }
}

html body .social-link svg {
  display: block;
  width: 52%;
  height: 52%;
  fill: currentColor;
}

html body .social-youtube svg {
  width: 58%;
}

html body .footer-form-slot .forminator-ui,
html body .footer-form-slot .forminator-custom-form {
  display: block !important;
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 !important;
}

html body .footer-form-slot .forminator-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 14px !important;
  margin: 0 0 12px !important;
}

html body .footer-form-slot .forminator-col,
html body .footer-form-slot .forminator-col-6,
html body .footer-form-slot .forminator-col-12 {
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
}

html body .footer-form-slot .forminator-col-12,
html body .footer-form-slot .forminator-row:last-child {
  grid-column: 1 / -1 !important;
}

html body .footer-form-slot .forminator-label {
  display: block !important;
  margin: 0 0 6px !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
}

html body .footer-form-slot .forminator-input,
html body .footer-form-slot .forminator-textarea {
  width: 100% !important;
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #fff !important;
  padding: 0 14px !important;
  color: #1e1e1e !important;
  font-family: var(--sh-body-font, "Work Sans Local", Arial, sans-serif) !important;
  font-size: 15px !important;
  box-shadow: none !important;
}

html body .footer-form-slot .forminator-textarea {
  min-height: 112px !important;
  padding-top: 13px !important;
}

html body .footer-form-slot .forminator-button-submit {
  min-width: 142px !important;
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: var(--global-yellow) !important;
  color: #000 !important;
  padding: 0 24px !important;
  font-family: var(--sh-body-font, "Work Sans Local", Arial, sans-serif) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

@media (max-width: 640px) {
  html body .footer-form-slot .forminator-row {
    grid-template-columns: 1fr !important;
  }
}

/* Codex pass 0.1.17: touch menu clickability and tablet footer width. */
@media (max-width: 1180px) {
  html body .mobile-menu-backdrop,
  html body.home .mobile-menu-backdrop {
    z-index: 1000 !important;
  }

  html body .primary-nav,
  html body.home .primary-nav {
    position: fixed !important;
    top: 125px !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 1002 !important;
    display: block !important;
    width: min(350px, 90vw) !important;
    max-height: none !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    padding: 66px 24px 34px !important;
    background: var(--global-footer-bg) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(-100%) !important;
    transition: opacity .22s ease, transform .22s ease !important;
  }

  html body .primary-nav.is-open,
  html body.nav-open .primary-nav,
  html body.is-menu-open .primary-nav,
  html body.home .primary-nav.is-open,
  html body.home.nav-open .primary-nav,
  html body.home.is-menu-open .primary-nav {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
  }

  html body .primary-nav ul,
  html body.home .primary-nav ul {
    display: grid !important;
    gap: 0 !important;
    align-items: stretch !important;
    justify-content: stretch !important;
  }

  html body .primary-nav li,
  html body.home .primary-nav li {
    width: 100% !important;
  }

  html body .primary-nav a,
  html body.home .primary-nav a {
    position: relative;
    z-index: 1;
    display: flex !important;
    width: 100% !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 8px !important;
    color: #fff !important;
    text-align: center !important;
    white-space: normal !important;
    pointer-events: auto !important;
  }

  html body .primary-nav .sub-menu,
  html body.home .primary-nav .sub-menu {
    position: static !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: rgba(255, 255, 255, .07) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  html body .primary-nav .current-menu-ancestor > .sub-menu,
  html body .primary-nav .current-menu-parent > .sub-menu,
  html body .primary-nav .menu-item-has-children.is-submenu-open > .sub-menu,
  html body.home .primary-nav .current-menu-ancestor > .sub-menu,
  html body.home .primary-nav .current-menu-parent > .sub-menu,
  html body.home .primary-nav .menu-item-has-children.is-submenu-open > .sub-menu {
    display: grid !important;
  }

  html body .primary-nav .sub-menu a,
  html body.home .primary-nav .sub-menu a {
    min-height: 42px !important;
    padding: 10px 12px !important;
    color: rgba(255, 255, 255, .84) !important;
    font-size: 14px !important;
  }

  html body .primary-nav .menu-item-has-children > a::after,
  html body.home .primary-nav .menu-item-has-children > a::after {
    position: absolute;
    right: 10px;
    margin: 0 !important;
  }

  html body .primary-nav .menu-item-has-children.is-submenu-open > a::after,
  html body.home .primary-nav .menu-item-has-children.is-submenu-open > a::after {
    transform: translateY(2px) rotate(225deg) !important;
  }
}

@media (min-width: 641px) and (max-width: 1180px) {
  html body .site-footer {
    width: min(var(--global-page-width, 1280px), 100%) !important;
    margin-inline: auto !important;
  }

  html body .footer-logo-band {
    width: min(720px, calc(100% - 48px)) !important;
    margin-inline: auto !important;
    padding: 76px 0 28px !important;
  }

  html body .footer-grid {
    width: min(720px, calc(100% - 48px)) !important;
    margin-inline: auto !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 48px 56px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  html body .footer-newsletter {
    grid-column: 1 / -1 !important;
    width: min(420px, 100%) !important;
    justify-self: start !important;
  }
}

/* Codex hotfix 0.1.17a: keep the touch-menu overlay beside the drawer, never on top of links. */
@media (max-width: 1180px) {
  html body .site-header,
  html body.home .site-header {
    z-index: 1004 !important;
  }

  html body .primary-nav,
  html body.home .primary-nav {
    z-index: 1005 !important;
  }

  html body .mobile-menu-backdrop,
  html body.home .mobile-menu-backdrop {
    left: min(350px, 90vw) !important;
    z-index: 1001 !important;
  }
}

@media (max-width: 380px) {
  html body .mobile-menu-backdrop,
  html body.home .mobile-menu-backdrop {
    left: 90vw !important;
  }
}

/* Codex hotfix 0.1.17c: mobile/tablet menu is a full-window reference overlay. */
@media (max-width: 1180px) {
  html body .mobile-menu-backdrop,
  html body.home .mobile-menu-backdrop {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body .primary-nav,
  html body.home .primary-nav {
    position: fixed !important;
    inset: 0 !important;
    z-index: 3000 !important;
    display: flex !important;
    width: 100vw !important;
    height: 100vh !important;
    max-width: none !important;
    max-height: none !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: clamp(112px, 16vh, 180px) clamp(24px, 7vw, 72px) 72px !important;
    align-items: flex-start !important;
    justify-content: center !important;
    overflow-y: auto !important;
    background: #1b1b1b !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(-10px) !important;
    transition: opacity .24s ease, transform .24s ease !important;
  }

  html body .primary-nav.is-open,
  html body.nav-open .primary-nav,
  html body.is-menu-open .primary-nav,
  html body.home .primary-nav.is-open,
  html body.home.nav-open .primary-nav,
  html body.home.is-menu-open .primary-nav {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  html body .mobile-menu-close,
  html body.home .mobile-menu-close {
    position: fixed !important;
    top: clamp(28px, 5vw, 54px) !important;
    right: clamp(24px, 5vw, 54px) !important;
    z-index: 3002 !important;
    display: grid !important;
    width: 58px !important;
    height: 58px !important;
    place-items: center !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
  }

  html body .mobile-menu-close::before,
  html body .mobile-menu-close::after,
  html body.home .mobile-menu-close::before,
  html body.home .mobile-menu-close::after {
    width: 42px !important;
    height: 4px !important;
    border-radius: 999px !important;
    background: currentColor !important;
  }

  html body .primary-nav > ul,
  html body .primary-nav .primary-menu,
  html body.home .primary-nav > ul,
  html body.home .primary-nav .primary-menu {
    display: grid !important;
    width: min(780px, 100%) !important;
    max-width: 780px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: clamp(24px, 4vh, 44px) !important;
    align-content: start !important;
    justify-items: center !important;
    list-style: none !important;
    background: transparent !important;
  }

  html body .primary-nav li,
  html body.home .primary-nav li {
    width: 100% !important;
    border: 0 !important;
    text-align: center !important;
  }

  html body .primary-nav a,
  html body.home .primary-nav a {
    display: inline-flex !important;
    width: auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-family: var(--sh-heading-font, Georgia, serif) !important;
    font-size: clamp(34px, 5.4vw, 45px) !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: none !important;
    white-space: normal !important;
  }

  html body .primary-nav a:hover,
  html body .primary-nav a:focus-visible,
  html body .primary-nav .current-menu-item > a,
  html body .primary-nav .current_page_item > a,
  html body.home .primary-nav a:hover,
  html body.home .primary-nav a:focus-visible,
  html body.home .primary-nav .current-menu-item > a,
  html body.home .primary-nav .current_page_item > a {
    background: transparent !important;
    color: var(--global-yellow, #ffb735) !important;
  }

  html body .primary-nav .menu-item-has-children > a::after,
  html body.home .primary-nav .menu-item-has-children > a::after {
    position: static !important;
    display: inline-block !important;
    width: 10px !important;
    height: 10px !important;
    margin-left: 14px !important;
    border-width: 3px !important;
  }

  html body .primary-nav .sub-menu,
  html body.home .primary-nav .sub-menu {
    position: static !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 20px 0 0 !important;
    padding: 0 !important;
    gap: 14px !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  html body .primary-nav .menu-item-has-children.is-submenu-open > .sub-menu,
  html body.home .primary-nav .menu-item-has-children.is-submenu-open > .sub-menu {
    display: grid !important;
  }

  html body .primary-nav .sub-menu a,
  html body.home .primary-nav .sub-menu a {
    color: rgba(255, 255, 255, .82) !important;
    font-size: clamp(21px, 3.6vw, 28px) !important;
    font-weight: 600 !important;
  }

  html body.nav-open,
  html body.is-menu-open {
    overflow: hidden !important;
  }
}

@media (max-width: 640px) {
  html body .primary-nav,
  html body.home .primary-nav {
    padding-top: clamp(96px, 15vh, 136px) !important;
  }

  html body .primary-nav a,
  html body.home .primary-nav a {
    font-size: clamp(30px, 8vw, 38px) !important;
  }
}

/* Codex final footer tablet pass 0.1.17f: force reference tablet footer after all legacy rules. */
@media (min-width: 641px) and (max-width: 1180px) {
  html body .site-footer[data-theme-footer="strayhelp"] {
    --footer-angle-height: 72px !important;
    width: min(768px, 100%) !important;
    margin-inline: auto !important;
    padding-top: 0 !important;
    overflow: hidden !important;
    border-radius: 0 0 8px 8px !important;
    background: var(--sh-cream, #faf6f2) !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"]::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    height: auto !important;
    background: var(--global-footer-bg, #78263c) !important;
    clip-path: polygon(0 var(--footer-angle-height), 50% 0, 100% var(--footer-angle-height), 100% 100%, 0 100%) !important;
    pointer-events: none !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] > * {
    position: relative !important;
    z-index: 1 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-logo-band {
    display: grid !important;
    width: min(724px, calc(100% - 44px)) !important;
    min-height: 430px !important;
    margin-inline: auto !important;
    padding: 86px 0 28px !important;
    place-items: center !important;
    background: transparent !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-logo-band img {
    width: 378px !important;
    max-width: min(58vw, 378px) !important;
    max-height: none !important;
    height: auto !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid {
    display: grid !important;
    width: min(724px, calc(100% - 44px)) !important;
    margin-inline: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 46px 80px !important;
    padding: 0 0 34px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid h3 {
    margin: 0 0 24px !important;
    color: #fff !important;
    font-size: 21px !important;
    line-height: 1.2 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid ul {
    gap: 12px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid a {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-trust {
    max-width: 340px !important;
    margin: 72px auto 0 !important;
    gap: 10px !important;
    justify-items: center !important;
    text-align: center !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-trust span {
    width: 42px !important;
    height: 32px !important;
    font-size: 32px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-trust strong {
    max-width: 330px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-trust em {
    color: var(--global-yellow, #ffb735) !important;
    font-size: 12px !important;
    letter-spacing: .3px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-title {
    margin: 0 0 24px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter .social-links {
    gap: 10px !important;
    margin: 0 0 26px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter .social-links a,
  html body .site-footer[data-theme-footer="strayhelp"] .social-links a {
    width: 34px !important;
    height: 34px !important;
    font-size: 16px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot.footer-subscribe-form,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter .footer-subscribe-form,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot form,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-custom-form {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 14px !important;
    margin: 0 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-field--message,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-col-12,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-row:last-child {
    grid-column: 1 / -1 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-field label,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot label,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-label {
    margin: 0 0 7px !important;
    color: #080808 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form input[type="email"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form input[type="text"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="email"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="text"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="url"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="tel"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="number"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input:not([type]):not([type="hidden"]),
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-input {
    min-height: 40px !important;
    border-radius: 4px !important;
    padding: 0 12px !important;
    font-size: 14px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form textarea,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot textarea,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-textarea {
    min-height: 90px !important;
    border-radius: 4px !important;
    padding: 12px !important;
    font-size: 14px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form button,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot button,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="submit"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-button-submit {
    justify-self: start !important;
    min-width: 112px !important;
    min-height: 40px !important;
    border-radius: 4px !important;
    padding: 0 18px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-bottom {
    width: min(724px, calc(100% - 44px)) !important;
    margin-inline: auto !important;
    border-top: 1px solid rgba(255, 255, 255, .12) !important;
    padding: 38px 0 42px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-bottom p {
    font-size: 12px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-bottom h6 {
    color: rgba(255, 255, 255, .72) !important;
    font-size: 11px !important;
  }

  html body .sh-back-top {
    right: calc((100vw - min(768px, 100vw)) / 2 + 22px) !important;
    bottom: 66px !important;
    width: 42px !important;
    height: 42px !important;
  }
}

/* Codex final footer tablet pass 0.1.17h: last rule wins for tablet footer. */
@media (min-width: 641px) and (max-width: 1180px) {
  html body .site-footer[data-theme-footer="strayhelp"] {
    width: min(768px, 100%) !important;
    margin-inline: auto !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-logo-band {
    width: min(724px, calc(100% - 44px)) !important;
    min-height: 430px !important;
    padding: 86px 0 28px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-logo-band img {
    width: 378px !important;
    max-width: min(58vw, 378px) !important;
    height: auto !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-bottom {
    width: min(724px, calc(100% - 44px)) !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter .social-links a,
  html body .site-footer[data-theme-footer="strayhelp"] .social-links a {
    display: inline-grid !important;
    width: 34px !important;
    height: 34px !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #78263c !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .social-link svg {
    display: block !important;
    width: 54% !important;
    height: 54% !important;
    fill: #78263c !important;
    stroke: none !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .social-youtube svg {
    width: 60% !important;
    height: 60% !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot.footer-subscribe-form,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter .footer-subscribe-form {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 14px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-field label {
    color: #070707 !important;
    font-family: var(--sh-body-font, Arial, sans-serif) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form input[type="email"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form input[type="text"] {
    height: 40px !important;
    min-height: 40px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form textarea {
    height: 112px !important;
    min-height: 112px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form button {
    height: 40px !important;
    min-height: 40px !important;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .18) !important;
  }
}

/* Codex final footer tablet pass 0.1.17j: compact centered tablet footer after 0.1.17h. */
@media (min-width: 641px) and (max-width: 1180px) {
  html body .site-footer[data-theme-footer="strayhelp"] {
    --footer-angle-height: clamp(56px, 8vw, 72px) !important;
    position: relative !important;
    width: min(768px, 100%) !important;
    margin-inline: auto !important;
    padding-top: 0 !important;
    overflow: hidden !important;
    isolation: isolate !important;
    border-radius: 0 0 8px 8px !important;
    background: var(--sh-cream, #faf6f2) !important;
    color: #fff !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"]::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    height: auto !important;
    background: var(--global-footer-bg, #78263c) !important;
    clip-path: polygon(0 var(--footer-angle-height), 50% 0, 100% var(--footer-angle-height), 100% 100%, 0 100%) !important;
    pointer-events: none !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] > * {
    position: relative !important;
    z-index: 1 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-logo-band {
    display: grid !important;
    width: min(672px, calc(100% - 64px)) !important;
    min-height: 218px !important;
    margin-inline: auto !important;
    padding: calc(var(--footer-angle-height) + 28px) 0 30px !important;
    place-items: center !important;
    box-sizing: border-box !important;
    background: transparent !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-logo-band a {
    display: inline-grid !important;
    max-width: 112px !important;
    place-items: center !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-logo-band img {
    width: 112px !important;
    max-width: min(26vw, 112px) !important;
    max-height: 112px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid {
    display: grid !important;
    width: min(672px, calc(100% - 64px)) !important;
    margin-inline: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 44px clamp(48px, 9vw, 72px) !important;
    padding: 0 0 36px !important;
    align-items: start !important;
    box-sizing: border-box !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid h3 {
    margin: 0 0 24px !important;
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid ul {
    gap: 13px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid a {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-trust {
    max-width: 300px !important;
    margin: 62px auto 0 !important;
    gap: 10px !important;
    justify-items: center !important;
    text-align: center !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-trust span {
    width: 34px !important;
    height: 28px !important;
    font-size: 30px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-trust strong {
    max-width: 280px !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-trust em {
    color: var(--global-yellow, #ffb735) !important;
    font-size: 13px !important;
    letter-spacing: .3px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter {
    grid-column: 1 / -1 !important;
    width: min(420px, 100%) !important;
    max-width: 420px !important;
    justify-self: start !important;
    align-self: start !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-title {
    max-width: 420px !important;
    margin: 0 0 24px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter .social-links {
    gap: 10px !important;
    margin: 0 0 26px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter .social-links a,
  html body .site-footer[data-theme-footer="strayhelp"] .social-links a {
    display: inline-grid !important;
    width: 44px !important;
    height: 44px !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #78263c !important;
    font-size: 20px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .social-link svg {
    display: block !important;
    width: 54% !important;
    height: 54% !important;
    fill: currentColor !important;
    stroke: none !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .social-youtube svg {
    width: 60% !important;
    height: 60% !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot.footer-subscribe-form,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter .footer-subscribe-form {
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot.footer-subscribe-form,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter .footer-subscribe-form,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot form,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-custom-form {
    display: grid !important;
    width: 100% !important;
    max-width: 420px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 14px !important;
    margin: 0 !important;
    align-items: start !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-field--message,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-col-12,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-row:last-child {
    grid-column: 1 / -1 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-field label,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot label,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-label {
    margin: 0 0 7px !important;
    color: #070707 !important;
    font-family: var(--sh-body-font, Arial, sans-serif) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form input[type="email"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form input[type="text"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="email"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="text"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="url"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="tel"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="number"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input:not([type]):not([type="hidden"]),
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-input {
    min-height: 48px !important;
    border-radius: 4px !important;
    padding: 0 14px !important;
    font-size: 15px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form textarea,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot textarea,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-textarea {
    min-height: 112px !important;
    border-radius: 4px !important;
    padding: 13px 14px !important;
    font-size: 15px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form button,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot button,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="submit"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-button-submit {
    justify-self: start !important;
    min-width: 142px !important;
    min-height: 44px !important;
    border-radius: 4px !important;
    padding: 0 24px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .18) !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-bottom {
    width: min(672px, calc(100% - 64px)) !important;
    margin-inline: auto !important;
    border-top: 1px solid rgba(255, 255, 255, .12) !important;
    padding: 36px 0 42px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-bottom .container {
    width: 100% !important;
    max-width: none !important;
    padding-inline: 0 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-bottom p {
    color: rgba(255, 255, 255, .66) !important;
    font-size: 12px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-bottom h6 {
    color: rgba(255, 255, 255, .72) !important;
    font-size: 11px !important;
  }
}

/* Codex final footer tablet pass 0.1.17k: match reference full-bleed tablet footer. */
@media (min-width: 641px) and (max-width: 1180px) {
  html body .site-footer[data-theme-footer="strayhelp"] {
    --footer-angle-height: 78px !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
    padding-top: 0 !important;
    overflow: hidden !important;
    background: var(--sh-cream, #faf6f2) !important;
    border-radius: 0 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"]::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    background: var(--global-footer-bg, #78263c) !important;
    clip-path: polygon(0 var(--footer-angle-height), 50% 0, 100% var(--footer-angle-height), 100% 100%, 0 100%) !important;
    pointer-events: none !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] > * {
    position: relative !important;
    z-index: 1 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-logo-band {
    display: grid !important;
    width: 100% !important;
    min-height: 600px !important;
    margin: 0 !important;
    padding: 84px 0 0 !important;
    place-items: center !important;
    background: transparent !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-logo-band a {
    display: grid !important;
    width: min(516px, 72vw) !important;
    max-width: min(516px, 72vw) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    place-items: center !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-logo-band img {
    display: block !important;
    width: min(516px, 72vw) !important;
    max-width: min(516px, 72vw) !important;
    height: auto !important;
    max-height: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid {
    display: grid !important;
    width: min(748px, calc(100% - 20px)) !important;
    margin: 0 auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 0 0 30px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-column {
    box-sizing: border-box !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid h3 {
    margin: 0 0 24px !important;
    color: #fff !important;
    font-size: 31px !important;
    font-weight: 400 !important;
    line-height: 1.12 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid a {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-grid ul {
    gap: 17px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-trust {
    max-width: 314px !important;
    margin: 68px 0 0 !important;
    justify-items: center !important;
    text-align: center !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-trust span {
    width: 48px !important;
    height: 42px !important;
    font-size: 41px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-trust strong {
    max-width: 314px !important;
    font-size: 19px !important;
    line-height: 1.32 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-trust em {
    font-size: 15px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 46px !important;
    justify-self: stretch !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-title {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 28px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter .social-links {
    gap: 12px !important;
    margin: 0 0 34px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter .social-links a,
  html body .site-footer[data-theme-footer="strayhelp"] .social-links a {
    width: 44px !important;
    height: 44px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot.footer-subscribe-form,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-newsletter .footer-subscribe-form,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot form,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-custom-form {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin: 0 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-field,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-row,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-col,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-col-6,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-col-12 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    grid-column: 1 / -1 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-field label,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot label,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-label {
    margin: 0 0 10px !important;
    color: #070707 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form input[type="email"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form input[type="text"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="email"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="text"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="url"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="tel"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="number"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input:not([type]):not([type="hidden"]),
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-input {
    width: 100% !important;
    min-height: 55px !important;
    border-radius: 4px !important;
    padding: 0 18px !important;
    font-size: 16px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form textarea,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot textarea,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-textarea {
    width: 100% !important;
    min-height: 120px !important;
    border-radius: 4px !important;
    padding: 15px 18px !important;
    font-size: 16px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-subscribe-form button,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot button,
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot input[type="submit"],
  html body .site-footer[data-theme-footer="strayhelp"] .footer-form-slot .forminator-button-submit {
    width: 100% !important;
    min-width: 100% !important;
    min-height: 51px !important;
    justify-self: stretch !important;
    border-radius: 4px !important;
    background: var(--global-yellow, #ffb735) !important;
    color: #000 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-bottom {
    width: min(708px, calc(100% - 60px)) !important;
    margin: 38px auto 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .18) !important;
    padding: 52px 0 54px !important;
  }

  html body .site-footer[data-theme-footer="strayhelp"] .footer-bottom .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }
}

/* Codex risk closure: make touch navigation fully usable and keep sticky header off footer content. */
@media (max-width: 1180px) {
  html body .site-header.is-hidden-on-scroll {
    transform: translateY(-110%) !important;
    pointer-events: none;
  }

  html body .primary-nav,
  html body.home .primary-nav {
    overflow-x: hidden !important;
  }

  html body .primary-nav .primary-menu,
  html body.home .primary-nav .primary-menu {
    width: 100% !important;
  }

  html body .primary-nav .menu-item,
  html body.home .primary-nav .menu-item {
    width: 100% !important;
  }

  html body .primary-nav .menu-item-has-children > a,
  html body.home .primary-nav .menu-item-has-children > a {
    cursor: pointer;
  }

  html body .primary-nav .menu-item-has-children.is-submenu-open > a::after,
  html body.home .primary-nav .menu-item-has-children.is-submenu-open > a::after {
    transform: translateY(2px) rotate(225deg) !important;
  }

  html body .primary-nav .sub-menu,
  html body.home .primary-nav .sub-menu,
  html body .primary-nav .sub-menu .sub-menu,
  html body.home .primary-nav .sub-menu .sub-menu {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 8px 0 0 !important;
    padding: 7px 0 10px !important;
    background: rgba(255, 255, 255, .06) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: none !important;
  }

  html body .primary-nav .sub-menu::before,
  html body.home .primary-nav .sub-menu::before {
    content: none !important;
  }

  html body .primary-nav .menu-item-has-children.is-submenu-open > .sub-menu,
  html body.home .primary-nav .menu-item-has-children.is-submenu-open > .sub-menu {
    display: grid !important;
  }

  html body .primary-nav .sub-menu a,
  html body.home .primary-nav .sub-menu a {
    width: 100% !important;
    min-height: 38px !important;
    padding: 8px 18px !important;
    color: rgba(255, 255, 255, .9) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(16px, 2.2vw, 20px) !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  html body .primary-nav .sub-menu .sub-menu a,
  html body.home .primary-nav .sub-menu .sub-menu a {
    padding-inline: 28px !important;
    color: rgba(255, 255, 255, .74) !important;
    font-size: clamp(14px, 2vw, 17px) !important;
  }

  html body .primary-nav .sub-menu a:hover,
  html body .primary-nav .sub-menu a:focus-visible,
  html body.home .primary-nav .sub-menu a:hover,
  html body.home .primary-nav .sub-menu a:focus-visible {
    background: rgba(255, 183, 53, .14) !important;
    color: var(--global-yellow, #ffb735) !important;
  }
}
