section {
  margin-top: 1.4rem;
}

.home-public .public-menu-sticky {
  position: relative;
  z-index: 30;
  margin-top: 0.9rem;
}

.home-public .public-menu-sticky.is-fixed-fallback {
  position: relative;
}

.home-public .glass-menu {
  position: relative;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.82);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.34));
  box-shadow: 0 14px 26px rgba(var(--public-secondary-rgb), 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(16px) saturate(158%);
  backdrop-filter: blur(16px) saturate(158%);
}

.home-public .public-menu-sticky.is-fixed-fallback .public-menu {
  position: fixed;
  top: var(--public-menu-fixed-top, 0.75rem);
  left: var(--public-menu-fixed-left, 1rem);
  width: var(--public-menu-fixed-width, calc(100vw - 2rem));
  max-width: calc(100vw - 1rem);
  box-sizing: border-box;
  z-index: 50;
}

.home-public .public-menu {
  box-sizing: border-box;
  position: relative;
}

.home-public .public-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.home-public .public-menu-head a:first-child {
  margin-right: auto;

}

.home-public .public-menu-home-link {
  margin-right: 0;
  min-width: 0;
  gap: 0.35rem;
}

.home-public .public-menu-home-text {
  display: inline-flex;
  align-items: center;
  max-width: 38vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-public .public-menu-toggle {
  min-height: 2.3rem;
  padding: 0 0.9rem;
  border: 1px solid rgba(15, 23, 42, 0.14);
  background: rgba(255, 255, 255, 0.72);
}

.home-public .public-menu-panel {
  display: none;
  margin-top: 0.75rem;
}

.home-public [data-public-nav-root].is-open .public-menu-panel {
  display: block;
}

.home-public .public-menu-desktop {
  display: none;
}

.home-public .public-menu-mobile {
  display: grid;
  gap: 0.5rem;
}

.home-public .public-menu-mobile-categories {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.56);
  padding: 0.55rem;
}

.home-public .public-menu-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.45rem;
  padding: 0 0.9rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    border-color 0.16s ease,
    background-color 0.16s ease;
}

.home-public button.public-menu-link {
  appearance: none;
  cursor: pointer;
  font: inherit;
}

.home-public .public-menu-link:hover,
.home-public .public-menu-link:focus-visible,
.home-public .public-menu-toggle:hover,
.home-public .public-menu-toggle:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(var(--public-primary-rgb, 37, 99, 235), 0.5);
  box-shadow: 0 8px 18px rgba(var(--public-primary-rgb, 37, 99, 235), 0.2);
  outline: none;
}

.home-public .public-menu-link-end {
  margin-left: auto;
}

.home-public .public-menu-link.is-active {
  border-color: rgba(var(--public-primary-rgb, 37, 99, 235), 0.66);
  color: #ffffff;
  background: linear-gradient(135deg,
      rgba(var(--public-primary-rgb, 37, 99, 235), 0.95),
      rgba(var(--public-secondary-rgb, 30, 41, 59), 0.9));
  box-shadow: 0 10px 20px rgba(var(--public-primary-rgb, 37, 99, 235), 0.28);
}

.home-public .public-menu-mobile-group {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.56);
  overflow: hidden;
}

.home-public .public-menu-mobile-group>summary {
  list-style: none;
}

.home-public .public-menu-mobile-group>summary::-webkit-details-marker {
  display: none;
}

.home-public .public-menu-mobile-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 0.75rem 0.95rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.home-public .public-menu-mobile-summary::after {
  content: "";
  display: inline-block;
  width: 0.62rem;
  height: 0.62rem;
  opacity: 0.7;
  vertical-align: middle;
  transform-origin: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5l3 3 3-3' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  transition: transform 0.16s ease;
}

.home-public .public-menu-mobile-group[open] .public-menu-mobile-summary::after {
  transform: rotate(180deg);
}

.home-public .public-menu-mobile-summary.is-active {
  color: rgb(var(--public-primary-rgb, 37, 99, 235));
}

.home-public .public-menu-mobile-group-body {
  padding: 0 0.55rem 0.55rem;
}

.home-public .public-menu-desktop-dropdown {
  position: relative;
}

.home-public .public-menu-desktop-dropdown>summary {
  list-style: none;
  cursor: pointer;
}

.home-public .public-menu-desktop-dropdown>summary::-webkit-details-marker {
  display: none;
}

.home-public .public-menu-desktop-dropdown>summary::after {
  content: "";
  display: inline-block;
  width: 0.62rem;
  height: 0.62rem;
  margin-left: 0.38rem;
  opacity: 0.7;
  vertical-align: middle;
  transform-origin: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5l3 3 3-3' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  transition: transform 0.16s ease;
}

.home-public .public-menu-desktop-dropdown[open]>summary::after {
  transform: rotate(180deg);
}

.home-public .public-menu-desktop-dropdown-panel {
  display: none;
}

.home-public .public-menu-desktop-dropdown[open] .public-menu-desktop-dropdown-panel {
  display: block;
  position: absolute;
  left: 0;
  top: calc(100% + 0.45rem);
  width: min(86vw, 430px);
  max-height: min(70vh, 520px);
  overflow: auto;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 22px 40px rgba(var(--public-secondary-rgb, 30, 41, 59), 0.22);
  padding: 0.55rem;
  z-index: 80;
}

.home-public .public-nav-tree {
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-public .public-nav-tree.level-0 {
  display: grid;
  gap: 0.25rem;
}

.home-public .public-nav-tree-item {
  margin: 0;
  padding: 0;
}

.home-public .public-nav-tree-link {
  display: block;
  padding: 0.5rem 0.65rem;
  border-radius: 11px;
  color: rgba(var(--public-secondary-rgb, 30, 41, 59), 0.9);
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 0.16s ease, color 0.16s ease;
}

.home-public .public-nav-tree-link:hover,
.home-public .public-nav-tree-link:focus-visible {
  background: rgba(var(--public-primary-rgb, 37, 99, 235), 0.11);
  color: rgba(var(--public-secondary-rgb, 30, 41, 59), 1);
  outline: none;
}

.home-public .public-nav-tree-link.is-active {
  color: #ffffff;
  background: linear-gradient(135deg,
      rgba(var(--public-primary-rgb, 37, 99, 235), 0.95),
      rgba(var(--public-secondary-rgb, 30, 41, 59), 0.9));
}

.home-public .public-nav-tree-link-parent {
  margin-bottom: 0.1rem;
  font-weight: 700;
}

.home-public .public-nav-tree-details {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(255, 255, 255, 0.5);
}

.home-public .public-nav-tree-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  cursor: pointer;
  padding: 0.5rem 0.65rem;
  list-style: none;
  font-size: 0.82rem;
  font-weight: 600;
  color: rgba(var(--public-secondary-rgb, 30, 41, 59), 0.94);
}

.home-public .public-nav-tree-summary::-webkit-details-marker {
  display: none;
}

.home-public .public-nav-tree-summary::after {
  content: "";
  display: inline-block;
  width: 0.62rem;
  height: 0.62rem;
  opacity: 0.65;
  vertical-align: middle;
  transform-origin: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5l3 3 3-3' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  transition: transform 0.16s ease;
}

.home-public .public-nav-tree-details[open]>.public-nav-tree-summary::after {
  transform: rotate(180deg);
}

.home-public .public-nav-tree-group {
  padding: 0 0.45rem 0.45rem;
}

.home-public .public-nav-tree .public-nav-tree {
  margin-left: 0.38rem;
  padding-left: 0.5rem;
  border-left: 1px dashed rgba(100, 116, 139, 0.3);
}

@media (min-width: 1024px) {
  .home-public .glass-menu {
    border-radius: 36px;
  }

  .home-public .public-menu {
    display: flex;
    align-items: center;
    gap: 0.55rem;
  }

  .home-public .public-menu-head {
    flex: 0 0 auto;
  }

  .home-public .public-menu-toggle {
    display: none;
  }

  .home-public .public-menu-panel {
    display: flex;
    align-items: center;
    margin-top: 0;
    flex: 1;
    min-width: 0;
  }

  .home-public .public-menu-mobile {
    display: none;
  }

  .home-public .public-menu-desktop {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: nowrap;
    flex: 1;
    min-width: 0;
  }

  .home-public .public-menu-desktop>* {
    flex-shrink: 0;
  }

  .home-public .public-menu-link {
    min-height: 2.2rem;
    padding: 0 0.75rem;
    font-size: 0.74rem;
  }

  .home-public .public-menu-home-link {
    margin-right: 0.25rem;
  }

  .home-public .public-menu-link-end {
    margin-left: auto;
    flex-shrink: 0;
  }

  .home-public .public-menu-home-text {
    max-width: none;
  }

  .home-public .public-nav-tree-desktop .public-nav-tree-link,
  .home-public .public-nav-tree-desktop .public-nav-tree-summary {
    font-size: 0.76rem;
  }
}
