/* Shared, approved site header. Load after page calibration styles.
   The homepage retains its distinct desktop navigation and header background.
   The printable menu intentionally does not load this stylesheet. */
.top-strip a {
  position: relative;
}
.top-strip a + a {
  border-left: 0;
}
.top-strip a + a::before {
  content: "|";
  position: absolute;
  left: 0;
  font-weight: inherit;
  -webkit-text-stroke: inherit;
}

/* Original transparent exports preserve the cream color and source strokes. */
.checkout-link {
  color: var(--cream);
}
.checkout-reference-icon {
  width: 1.625rem;
  height: 1.625rem;
  object-fit: contain;
  flex: none;
}
.menu-toggle {
  display: flex;
  align-items: center;
}
.menu-reference-icon {
  width: 3.03125rem;
  height: auto;
  flex: none;
}

@media screen and (max-width: 650px) {
  .top-strip,
  body[data-page="home"] .top-strip {
    height: max(30px, 1.875rem);
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
  }
  .top-strip::-webkit-scrollbar {
    display: none;
  }
  .top-strip nav {
    width: max-content;
    min-width: max-content;
    flex: none;
  }
  .top-strip a {
    display: flex;
    align-items: center;
    min-height: max(30px, 1.875rem);
    padding-inline: 0.4375rem;
    font-size: 0.625rem;
  }
  .site-header,
  body[data-page="home"] .site-header {
    top: max(30px, 1.875rem);
  }
  .header-inner {
    width: calc(100% - 3rem);
    min-height: 4.0625rem;
  }
  .header-inner .brand {
    width: 7.1875rem;
  }
  .header-actions {
    gap: 1.125rem;
  }
  .checkout-link {
    font-size: max(14px, 1.125rem);
    gap: 0.3125rem;
  }
  .checkout-reference-icon {
    width: 0.9375rem;
    height: 0.9375rem;
  }
  .menu-toggle,
  .menu-reference-icon {
    width: 1.75rem;
  }
}

@media screen and (min-width: 1201px) {
  body:not([data-page="home"]) .top-strip {
    background: #fff;
    color: #23221f;
  }
  body:not([data-page="home"]) .site-header:not(.is-sticky) {
    background: rgb(0 0 0 / 40%);
    color: var(--warm);
  }
  body:not([data-page="home"]) .header-inner {
    min-height: 5.25rem;
  }
  body:not([data-page="home"]) .header-inner .brand {
    width: 10.375rem;
    margin-left: -0.25rem;
    transform: translateY(0.0625rem);
  }
  body:not([data-page="home"]) .home-nav {
    font-size: 1.25rem;
    gap: 2.25rem;
    margin-right: 5.75rem;
    transform: translateY(0.125rem);
  }
  body:not([data-page="home"]) .home-nav .nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 7.75rem;
    min-height: 2.1875rem;
    padding: 0.375rem;
    font-size: 0.75rem;
  }
  body:not([data-page="home"]) .home-nav .nav-cta + .nav-cta {
    margin-left: -1.25rem;
  }
  body:not([data-page="home"]) .header-actions {
    display: none;
  }
  .top-strip nav {
    transform: translate(-0.125rem, 0.0833333rem);
  }
  .top-strip a {
    font-size: 0.875rem;
    padding-inline: 0.859375rem;
    color: #000;
    /* Quicksand ends at 700. This approved optical weight does not alter
       glyph advances; the separator inherits it along with the font weight. */
    -webkit-text-stroke: 0.0125rem currentColor;
  }
  .header-actions {
    transform: translateX(0.375rem);
  }
  .checkout-link {
    font-size: 1rem;
    transform: translate(-0.125rem, 0.1041667rem);
  }
  .checkout-reference-icon {
    /* The 50×51px 2x export occupies 25×25.5 design pixels. */
    padding: 0.015625rem 0.03125rem;
    transform: translate(0.125rem, -0.0625rem);
  }
  .menu-toggle {
    height: 3.53125rem;
    transform: translate(0.2291667rem, 0.0625rem);
  }
  .menu-reference-icon {
    height: 2.28125rem;
  }
}

@media screen and (min-width: 1001px) and (max-width: 1200px) {
  body:not([data-page="home"]) .home-nav {
    display: none;
  }
}
