.djc-hero-nav {
  --hn-bg: rgba(0, 0, 0, 0.18);
  --hn-bg-sticky: rgba(15, 23, 42, 0.95);
  --hn-text: rgba(255, 255, 255, 0.75);
  --hn-text-hover: #ffffff;
  --hn-icon: var(--color-3, #f9a825);
  --hn-icon-hover: var(--color-3, #f9a825);
  --hn-border: rgba(255, 255, 255, 0.2);
  --hn-border-hover: rgba(255, 255, 255, 0.4);
  --hn-bg-hover: rgba(255, 255, 255, 0.08);
  --hn-shadow-sticky: 0 0 7px rgba(0, 0, 0, 0.5);
  --hn-blur: 5px;
  --hn-radius-pill: 40px;
  --hn-gap: 12px;
  --hn-padding-y: 10px;
  --hn-padding-x: 0;
  --hn-z-rest: 3;
  --hn-z-sticky: 99;
  --hn-transition: 220ms ease;
  --hn-font: inherit;

  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: var(--hn-z-rest);
  padding: var(--hn-padding-y) var(--hn-padding-x);
  background: var(--hn-bg);
  backdrop-filter: blur(var(--hn-blur));
  -webkit-backdrop-filter: blur(var(--hn-blur));
  font-family: var(--hn-font);
  transition: background var(--hn-transition), box-shadow var(--hn-transition);
}

.djc-hero-nav *,
.djc-hero-nav *::before,
.djc-hero-nav *::after {
  box-sizing: border-box;
}

.djc-hero-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--hn-gap);
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

.djc-hero-nav__group {
  display: flex;
  align-items: center;
  gap: var(--hn-gap);
}

.djc-hero-nav__group--left {
  flex: 1 1 auto;
  justify-content: center;
}

.djc-hero-nav__group--right {
  flex: 0 0 auto;
}

/* base item — neutral; variants set the visual treatment */
.djc-hero-nav__item {
  cursor: pointer;
  border: 0;
  background: transparent;
  color: var(--hn-text);
  font-family: inherit;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: color var(--hn-transition), background var(--hn-transition), border-color var(--hn-transition);
}

.djc-hero-nav__item:hover,
.djc-hero-nav__item:focus {
  color: var(--hn-text-hover);
  outline: none;
}

.djc-hero-nav__item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--hn-icon);
  transition: color var(--hn-transition);
}

.djc-hero-nav__item:hover .djc-hero-nav__item-icon,
.djc-hero-nav__item:focus .djc-hero-nav__item-icon {
  color: var(--hn-icon-hover);
}

.djc-hero-nav__item-label {
  display: inline-block;
}

/* variant: pill — icon + label inline, rounded outline (pick-four style) */
.djc-hero-nav--variant-pill .djc-hero-nav__item {
  flex-direction: row;
  padding: 10px 22px;
  border: 1px solid var(--hn-border);
  border-radius: var(--hn-radius-pill);
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}

.djc-hero-nav--variant-pill .djc-hero-nav__item:hover,
.djc-hero-nav--variant-pill .djc-hero-nav__item:focus {
  border-color: var(--hn-border-hover);
  background: var(--hn-bg-hover);
}

.djc-hero-nav--variant-pill .djc-hero-nav__item-icon {
  font-size: 18px;
}

/* variant: stacked — icon on top, label below (new-hire-orientation style) */
.djc-hero-nav--variant-stacked .djc-hero-nav__item {
  flex-direction: column-reverse;
  font-size: 15px;
  letter-spacing: 1px;
  font-weight: 200;
  padding: 0;
}

.djc-hero-nav--variant-stacked .djc-hero-nav__item-icon {
  font-size: 30px;
}

/* sticky state — fixed to viewport top once scrolled past sentinel */
.djc-hero-nav--sticky {
  position: fixed;
  top: 0;
  bottom: auto;
  height: var(--header-height-outer, 85px);
  background: var(--hn-bg-sticky);
  box-shadow: var(--hn-shadow-sticky);
  z-index: var(--hn-z-sticky);
}

.djc-hero-nav--sticky .djc-hero-nav__inner {
  height: 100%;
}

.djc-hero-nav--sticky .djc-hero-nav__item {
  color: var(--hn-text-hover);
}

/* sentinel marker — invisible div that records the original nav top */
.djc-hero-nav__sentinel {
  height: 0;
  width: 0;
  pointer-events: none;
}

@media (max-width: 900px) {
  .djc-hero-nav__inner {
    flex-wrap: wrap;
    gap: 8px;
  }

  .djc-hero-nav--variant-pill .djc-hero-nav__item {
    padding: 8px 14px;
    font-size: 12px;
  }

  .djc-hero-nav--variant-stacked .djc-hero-nav__item {
    font-size: 12px;
    line-height: 1.1;
    text-align: center;
  }

  .djc-hero-nav--variant-stacked .djc-hero-nav__item-icon {
    font-size: 24px;
  }
}

@media (max-width: 600px) {
  .djc-hero-nav--variant-pill .djc-hero-nav__item-label {
    display: none;
  }

  .djc-hero-nav--variant-pill .djc-hero-nav__item {
    padding: 8px 12px;
  }
}
