/*
 * Inventory product visual foundation
 * Intentionally framework-free. Components are opt-in via their class names.
 */

:root {
  --inventory-navy-950: #071a33;
  --inventory-navy-900: #0d2748;
  --inventory-blue-700: #1457bd;
  --inventory-blue-600: #1d6dd8;
  --inventory-blue-100: #deecff;
  --inventory-white: #ffffff;
  --inventory-slate-800: #23364d;
  --inventory-slate-600: #53677f;
  --inventory-slate-300: #c6d3e1;
  --inventory-slate-100: #edf3f8;
  --inventory-success: #137a5e;
  --inventory-warning: #a85a00;
  --inventory-danger: #b52f45;
  --inventory-radius-sm: .5rem;
  --inventory-radius-md: .875rem;
  --inventory-radius-lg: 1.25rem;
  --inventory-shadow-sm: 0 1px 2px rgb(7 26 51 / 8%);
  --inventory-shadow-md: 0 16px 38px rgb(7 26 51 / 12%);
  --inventory-shadow-lg: 0 30px 80px rgb(7 26 51 / 16%);
  --inventory-gradient-brand: linear-gradient(135deg, var(--inventory-navy-950), var(--inventory-blue-700));
  --inventory-space-1: .25rem;
  --inventory-space-2: .5rem;
  --inventory-space-3: .75rem;
  --inventory-space-4: 1rem;
  --inventory-space-5: 1.5rem;
  --inventory-space-6: 2rem;
  --inventory-space-7: 3rem;
  --inventory-motion-fast: 160ms;
  --inventory-motion-standard: 240ms;
  --inventory-focus-ring: 0 0 0 3px rgb(29 109 216 / 35%);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 4.5rem;
  scrollbar-gutter: stable;
}

.inventory-foundation,
.inventory-site {
  margin: 0;
  color: var(--inventory-slate-800);
  background: var(--inventory-white);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  line-height: 1.5;
}

.inventory-foundation *,
.inventory-foundation *::before,
.inventory-foundation *::after,
.inventory-site *,
.inventory-site *::before,
.inventory-site *::after {
  box-sizing: border-box;
}

.inventory-site img {
  display: block;
  max-width: 100%;
}

/* Browsers give figure a 40px inline margin by default. Several screenshot
   cards are grid items with width:100%, so that default made them 80px wider
   than their column and the page's overflow clipping merely hid the damage. */
.inventory-site figure { margin: 0; }

.inventory-site :where(ul, ol) { margin: 0; padding: 0; }
.inventory-site ul { list-style: none; }
.inventory-site :where(a) { color: inherit; text-decoration: none; }
.inventory-site :where(h1, h2, h3, p) { margin: 0; }

.inventory-site .wrap {
  width: 100%;
  max-width: 77.5rem;
  margin-inline: auto;
  padding-inline: clamp(1rem, 3vw, 1.75rem);
}

.inventory-site .skip-link {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  padding: .75rem 1.25rem;
  border-radius: 0 0 var(--inventory-radius-md) 0;
  color: var(--inventory-white);
  background: var(--inventory-navy-950);
  transform: translateY(-110%);
}

.inventory-site .skip-link:focus { transform: translateY(0); }

html.inventory-app-handoff-active { overflow: hidden; }

.inventory-site .inventory-app-handoff {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgb(7 26 51 / 76%);
  backdrop-filter: blur(8px);
}

.inventory-site .inventory-app-handoff[hidden] { display: none; }

.inventory-site .inventory-app-handoff__card {
  width: min(100%, 29rem);
  padding: clamp(1.5rem, 5vw, 2.25rem);
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 55%);
  border-radius: var(--inventory-radius-lg);
  color: var(--inventory-slate-800);
  background: var(--inventory-white);
  box-shadow: 0 32px 90px rgb(0 0 0 / 35%);
  text-align: center;
  animation: inventory-handoff-enter var(--inventory-motion-standard) ease-out both;
}

.inventory-site .inventory-app-handoff__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  margin-bottom: 1.5rem;
  color: var(--inventory-navy-950);
  font-weight: 800;
}

.inventory-site .inventory-app-handoff__brand img {
  width: auto;
  height: 40px;
  aspect-ratio: 256 / 211;
  object-fit: contain;
}

.inventory-site .inventory-app-handoff__spinner {
  width: 3.25rem;
  height: 3.25rem;
  margin: 0 auto 1.25rem;
  border: 4px solid var(--inventory-blue-100);
  border-top-color: var(--inventory-blue-700);
  border-radius: 50%;
  animation: inventory-handoff-spin .85s linear infinite;
}

.inventory-site .inventory-app-handoff__eyebrow {
  color: var(--inventory-blue-700);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.inventory-site .inventory-app-handoff h2 {
  margin-top: .45rem;
  color: var(--inventory-navy-950);
  font-size: clamp(1.6rem, 6vw, 2.1rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.inventory-site .inventory-app-handoff__message {
  max-width: 34ch;
  margin: .75rem auto 0;
  color: var(--inventory-slate-600);
}

.inventory-site .inventory-app-handoff__progress {
  height: .3rem;
  margin-top: 1.5rem;
  overflow: hidden;
  border-radius: 999px;
  background: var(--inventory-slate-100);
}

.inventory-site .inventory-app-handoff__progress span {
  display: block;
  width: 48%;
  height: 100%;
  border-radius: inherit;
  background: var(--inventory-gradient-brand);
  animation: inventory-handoff-progress 1.35s ease-in-out infinite;
}

.inventory-site .inventory-app-handoff__note {
  margin-top: .85rem;
  color: var(--inventory-slate-600);
  font-size: .76rem;
}

@keyframes inventory-handoff-enter {
  from { opacity: 0; transform: translateY(.6rem) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes inventory-handoff-spin { to { transform: rotate(360deg); } }

@keyframes inventory-handoff-progress {
  0% { transform: translateX(-115%); }
  55% { transform: translateX(108%); }
  100% { transform: translateX(225%); }
}

.inventory-site :where(.visually-hidden, .sr-only) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.inventory-site .site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  align-items: stretch;
}

.inventory-site .header-inner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  min-height: 4.5rem;
}

.inventory-site .logo,
.inventory-site .logo-mark,
.inventory-site .header-actions {
  display: flex;
  align-items: center;
}

.inventory-site .logo { flex-shrink: 0; gap: .65rem; }
.inventory-site .logo-mark {
  flex: 0 0 auto;
  width: auto;
  height: 40px;
}
.inventory-site .logo-mark img { width: auto; height: 40px; aspect-ratio: 256 / 211; object-fit: contain; }
.inventory-site .main-nav { display: flex; align-items: stretch; align-self: stretch; }
.inventory-site .main-nav a { position: relative; padding: .25rem 0; }
.inventory-site .nav-toggle {
  display: none;
  position: relative;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  color: var(--inventory-navy-950);
  background: transparent;
  cursor: pointer;
}

.inventory-site .nav-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  margin-inline: auto;
  border-radius: 2px;
  background: currentColor;
  transition: transform var(--inventory-motion-fast) ease, opacity var(--inventory-motion-fast) ease;
}

.inventory-foundation :where(a, button, summary, input, select, textarea):focus-visible,
.inventory-site :where(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid var(--inventory-blue-600);
  outline-offset: 3px;
  box-shadow: var(--inventory-focus-ring);
}

.inventory-section {
  padding: clamp(2.5rem, 7vw, 5.5rem) clamp(1rem, 4vw, 4rem);
}

.inventory-shell {
  width: min(100%, 75rem);
  margin-inline: auto;
}

.inventory-eyebrow {
  margin: 0 0 .5rem;
  color: var(--inventory-blue-700);
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.inventory-heading {
  max-width: 18ch;
  margin: 0;
  color: var(--inventory-navy-950);
  font-size: clamp(1.75rem, 4vw, 3rem);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.inventory-lede {
  max-width: 60ch;
  margin: 1rem 0 0;
  color: var(--inventory-slate-600);
  font-size: 1.0625rem;
}

.inventory-surface {
  border: 1px solid var(--inventory-slate-300);
  border-radius: var(--inventory-radius-lg);
  background: var(--inventory-white);
  box-shadow: var(--inventory-shadow-sm);
}

.inventory-surface--muted { background: var(--inventory-slate-100); }

.inventory-surface--dark {
  border-color: transparent;
  color: var(--inventory-white);
  background: var(--inventory-navy-950);
}

.inventory-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  gap: .5rem;
  padding: .625rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--inventory-radius-sm);
  color: var(--inventory-white);
  background: var(--inventory-blue-700);
  font: inherit;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.inventory-button:hover {
  color: var(--inventory-white);
  background: var(--inventory-blue-600);
}

.inventory-button--secondary {
  border-color: var(--inventory-navy-900);
  color: var(--inventory-navy-900);
  background: var(--inventory-white);
}

.inventory-button--secondary:hover {
  color: var(--inventory-navy-950);
  background: var(--inventory-blue-100);
}

.inventory-button--quiet {
  color: var(--inventory-blue-700);
  background: transparent;
}

.inventory-button--quiet:hover {
  color: var(--inventory-navy-950);
  background: var(--inventory-blue-100);
}

.inventory-button[aria-disabled="true"],
.inventory-button:disabled {
  opacity: .58;
  cursor: not-allowed;
  pointer-events: none;
}

.inventory-browser-frame {
  overflow: clip;
  border: 1px solid var(--inventory-slate-300);
  border-radius: var(--inventory-radius-lg);
  background: var(--inventory-white);
  box-shadow: var(--inventory-shadow-md);
}

.inventory-browser-frame__bar {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 3.25rem;
  padding: .75rem 1rem;
  border-bottom: 1px solid var(--inventory-slate-300);
  background: #f8fbff;
}

.inventory-browser-frame__dots { display: flex; gap: .35rem; }

.inventory-browser-frame__dots span {
  width: .625rem;
  height: .625rem;
  border-radius: 50%;
  background: var(--inventory-slate-300);
}

.inventory-browser-frame__address {
  overflow: hidden;
  min-width: 0;
  flex: 1;
  padding: .4rem .625rem;
  border-radius: .375rem;
  color: var(--inventory-slate-600);
  background: var(--inventory-white);
  font-size: .8125rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inventory-browser-frame__body { padding: clamp(1rem, 3vw, 2rem); }

.inventory-capability-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.inventory-capability-card {
  display: flex;
  flex-direction: column;
  gap: .875rem;
  min-height: 100%;
  padding: 1.25rem;
}

.inventory-capability-card__icon {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: var(--inventory-radius-sm);
  color: var(--inventory-blue-700);
  background: var(--inventory-blue-100);
  font-weight: 700;
}

.inventory-capability-card h3,
.inventory-record-card h3 { margin: 0; color: var(--inventory-navy-950); font-size: 1.0625rem; }
.inventory-capability-card p,
.inventory-record-card p { margin: 0; color: var(--inventory-slate-600); }

.inventory-workflow {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.inventory-workflow__item {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: 1rem;
  position: relative;
  padding: 0 0 1.5rem;
}

.inventory-workflow__item:not(:last-child)::before {
  position: absolute;
  top: 2.75rem;
  bottom: 0;
  left: 1.3125rem;
  width: 2px;
  background: var(--inventory-slate-300);
  content: "";
}

.inventory-workflow__marker {
  display: grid;
  z-index: 1;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border: 2px solid var(--inventory-blue-700);
  border-radius: 50%;
  color: var(--inventory-blue-700);
  background: var(--inventory-white);
  font-weight: 700;
}

.inventory-workflow__content { padding: .5rem 0; }
.inventory-workflow__content h3 { margin: 0; color: var(--inventory-navy-950); font-size: 1rem; }
.inventory-workflow__content p { margin: .25rem 0 0; color: var(--inventory-slate-600); }

.inventory-ledger {
  display: grid;
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.inventory-ledger__event {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .75rem;
  padding: .875rem 1rem;
  border: 1px solid var(--inventory-slate-300);
  border-radius: var(--inventory-radius-md);
  background: var(--inventory-white);
}

.inventory-ledger__event time { color: var(--inventory-slate-600); font-size: .8125rem; }

.inventory-stock-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.inventory-stock-card { padding: 1.25rem; }
.inventory-stock-card__label { margin: 0; color: var(--inventory-slate-600); font-size: .875rem; }
.inventory-stock-card__value { margin: .25rem 0 0; color: var(--inventory-navy-950); font-size: 2rem; font-weight: 700; line-height: 1; }

.inventory-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  margin-top: .875rem;
  padding: .2rem .55rem;
  border-radius: 999px;
  font-size: .8125rem;
  font-weight: 700;
}

.inventory-status--available { color: #075e49; background: #d9f5eb; }
.inventory-status--attention { color: #814000; background: #fff0d9; }
.inventory-status--unavailable { color: #8f1c30; background: #fde4e8; }

.inventory-record-card {
  display: grid;
  gap: 1rem;
  padding: 1.25rem;
}

.inventory-record-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.inventory-record-card__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem 1rem;
  margin: 0;
}

.inventory-record-card__details div { min-width: 0; }
.inventory-record-card__details dt { color: var(--inventory-slate-600); font-size: .8125rem; }
.inventory-record-card__details dd { margin: .125rem 0 0; color: var(--inventory-navy-950); font-weight: 700; overflow-wrap: anywhere; }

.inventory-price-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.25rem clamp(1.25rem, 4vw, 2rem);
  border-radius: var(--inventory-radius-lg);
  color: var(--inventory-white);
  background: var(--inventory-navy-950);
}

.inventory-price-strip p { margin: 0; }
.inventory-price-strip__title { font-size: 1.125rem; font-weight: 700; }
.inventory-price-strip__detail { margin-top: .25rem !important; color: #cfdded; }
.inventory-price-strip .inventory-button { flex: none; color: var(--inventory-navy-950); background: var(--inventory-white); }
.inventory-price-strip .inventory-button:hover { background: var(--inventory-blue-100); }

/* Product shell. The namespace keeps the W1 foundation isolated from the
   legacy service pages while W2-W4 replace their route content. */
.inventory-site .inventory-header,
.inventory-foundation .inventory-header {
  min-height: 4.5rem;
  height: auto;
  background: rgb(255 255 255 / 88%);
  border-bottom-color: rgb(7 26 51 / 10%);
  backdrop-filter: blur(18px) saturate(150%);
}

.inventory-site .inventory-header .wrap,
.inventory-foundation .inventory-header .wrap { max-width: 82rem; }

.inventory-brand-name {
  color: var(--inventory-navy-950);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -.025em;
}

.inventory-site .inventory-nav,
.inventory-foundation .inventory-nav {
  gap: clamp(1rem, 2.4vw, 2rem);
  color: var(--inventory-slate-600);
  font-size: .9rem;
  font-weight: 700;
}

.inventory-site .inventory-nav > a:not(.inventory-nav-login),
.inventory-foundation .inventory-nav > a:not(.inventory-nav-login) {
  display: flex;
  align-items: center;
  align-self: stretch;
}

.inventory-site .inventory-nav a:hover,
.inventory-foundation .inventory-nav a:hover,
.inventory-login-link:hover { color: var(--inventory-blue-700); }

.inventory-header-actions { gap: .75rem; }
.inventory-login-link { color: var(--inventory-navy-900); font-size: .9rem; font-weight: 700; }
.inventory-nav-login { display: none; }
.inventory-button--header {
  min-height: 2.5rem;
  padding: .45rem .95rem;
  font-size: .85rem;
}
.inventory-nav-group {
  position: relative;
  display: flex;
  align-items: center;
  align-self: stretch;
}
.inventory-nav-parent {
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  gap: .35rem;
}
.inventory-nav-parent::after {
  display: inline-block;
  width: .45rem;
  height: .45rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  content: "";
}
.inventory-nav-sub {
  display: none;
  position: absolute;
  top: 100%;
  left: -.75rem;
  z-index: 120;
  min-width: 14rem;
  padding: .5rem;
  border: 1px solid var(--inventory-slate-300);
  border-radius: var(--inventory-radius-md);
  background: rgb(255 255 255 / 96%);
  box-shadow: var(--inventory-shadow-md);
}
.inventory-nav-sub::before {
  position: absolute;
  top: -1rem;
  right: 0;
  left: 0;
  height: 1rem;
  content: "";
}
.inventory-nav-sub a {
  display: block;
  padding: .65rem .75rem;
  border-radius: var(--inventory-radius-sm);
  color: var(--inventory-navy-950);
  font-weight: 600;
}
.inventory-nav-sub a:hover,
.inventory-nav-sub a[aria-current="page"] {
  background: var(--inventory-blue-100);
  color: var(--inventory-blue-700);
}
.inventory-nav-group:hover .inventory-nav-sub,
.inventory-nav-group:focus-within .inventory-nav-sub { display: grid; }

.inventory-explore-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.inventory-explore-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  gap: .5rem;
  padding: 1.25rem;
  color: inherit;
  text-decoration: none;
}
.inventory-explore-card h3 { margin: 0; color: var(--inventory-navy-950); font-size: 1.05rem; font-weight: 700; }
.inventory-explore-card p { margin: 0; color: var(--inventory-slate-600); }
.inventory-explore-card span { margin-top: auto; color: var(--inventory-blue-700); font-size: .9rem; font-weight: 700; }

.page-boundaries {
  padding: 1.25rem 1.4rem;
  border: 1px solid var(--inventory-slate-300);
  border-radius: var(--inventory-radius-lg);
  background: var(--inventory-slate-100);
}
.page-boundaries h2 {
  margin: 0 0 .75rem;
  color: var(--inventory-navy-950);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0;
  max-width: none;
}
.page-boundaries ul { display: grid; gap: .45rem; margin: 0; padding-left: 1.15rem; }
.page-boundaries li { color: var(--inventory-slate-600); font-size: .92rem; }

.inventory-shot {
  overflow: hidden;
  border: 1px solid var(--inventory-slate-300);
  border-radius: var(--inventory-radius-lg);
  background: var(--inventory-slate-100);
  box-shadow: var(--inventory-shadow-md);
}
.inventory-shot img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 34rem;
  object-fit: contain;
  object-position: top center;
  background: var(--inventory-slate-100);
}
.inventory-shot--phone {
  max-width: 22rem;
  margin-inline: auto;
  border: .4rem solid var(--inventory-navy-950);
  border-radius: 1.4rem;
}
.inventory-shot--phone img { max-height: none; }

.inventory-site .inventory-footer,
.inventory-foundation .inventory-footer {
  padding: clamp(3.5rem, 7vw, 5rem) 0 1.5rem;
  color: #cfdded;
  background: var(--inventory-navy-950);
}

.inventory-footer-grid {
  display: grid;
  grid-template-columns: minmax(16rem, 2fr) repeat(3, minmax(8rem, 1fr));
  gap: clamp(2rem, 5vw, 4rem);
}

.inventory-footer-brand { max-width: 29rem; }
.inventory-footer-brand p { margin: 1rem 0 0; color: #afc0d4; }
.inventory-footer-logo { display: inline-flex; align-items: center; gap: .75rem; color: var(--inventory-white); font-weight: 700; }
.inventory-site .inventory-footer-logo img { width: auto; height: 40px; aspect-ratio: 256 / 211; object-fit: contain; }

.inventory-footer-nav { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; }
.inventory-footer-nav strong { margin-bottom: .25rem; color: var(--inventory-white); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.inventory-footer-nav a { color: #cfdded; font-size: .9rem; }
.inventory-footer-nav a:hover { color: var(--inventory-white); }

.inventory-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 3rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgb(255 255 255 / 13%);
  color: #9fb2c9;
  font-size: .78rem;
}

.inventory-footer-bottom p { margin: 0; }
.inventory-footer-bottom a { color: #cfdded; }

.inventory-error-main { min-height: calc(100svh - 4.5rem); }
.inventory-error-state {
  display: grid;
  min-height: 70svh;
  place-items: center;
  padding: clamp(4rem, 10vw, 8rem) 0;
  background:
    radial-gradient(circle at 82% 25%, rgb(29 109 216 / 16%), transparent 30rem),
    linear-gradient(180deg, #f8fbff, var(--inventory-white));
}

.inventory-error-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr); align-items: center; gap: clamp(3rem, 8vw, 7rem); }
.inventory-kicker { margin: 0 0 .75rem; color: var(--inventory-blue-700); font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.inventory-error-copy h1 { max-width: 11ch; color: var(--inventory-navy-950); font-size: clamp(3rem, 8vw, 6.5rem); line-height: .95; letter-spacing: -.065em; }
.inventory-error-copy > p:not(.inventory-kicker) { max-width: 52ch; margin: 1.5rem 0 0; color: var(--inventory-slate-600); font-size: 1.08rem; }
.inventory-error-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.inventory-error-visual { position: relative; min-height: 21rem; padding: 3rem 1.5rem; border: 1px solid rgb(29 109 216 / 16%); border-radius: 2rem; background: rgb(255 255 255 / 80%); box-shadow: var(--inventory-shadow-lg); overflow: hidden; }
.inventory-error-code { position: absolute; top: -2rem; right: -1rem; color: rgb(29 109 216 / 9%); font-size: clamp(8rem, 18vw, 13rem); font-weight: 700; line-height: 1; letter-spacing: -.1em; }
.inventory-error-bin { position: relative; display: grid; gap: .5rem; max-width: 17rem; margin: 6.25rem auto 0; padding: 1.25rem; border: 1px solid var(--inventory-slate-300); border-left: .35rem solid var(--inventory-blue-700); border-radius: var(--inventory-radius-md); background: var(--inventory-white); box-shadow: var(--inventory-shadow-md); }
.inventory-error-bin-label { color: var(--inventory-slate-600); font-size: .8rem; }
.inventory-error-bin strong { color: var(--inventory-navy-950); }
.inventory-state-chip { justify-self: start; margin-top: .4rem; padding: .25rem .55rem; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.inventory-state-chip--hold { color: #814000; background: #fff0d9; }

@media (max-width: 56rem) {
  .inventory-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inventory-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 44rem) {
  .inventory-capability-grid,
  .inventory-stock-grid,
  .inventory-explore-grid { grid-template-columns: 1fr; }

  .inventory-price-strip { align-items: stretch; flex-direction: column; }
  .inventory-price-strip .inventory-button { width: 100%; }

  .inventory-footer-grid,
  .inventory-error-layout { grid-template-columns: 1fr; }
  .inventory-footer-bottom { align-items: flex-start; flex-direction: column; }
  .inventory-error-visual { min-height: 17rem; }
  .inventory-error-bin { margin-top: 4rem; }
}

@media (max-width: 52rem) {
  .inventory-site .inventory-header::before,
  .inventory-foundation .inventory-header::before {
    position: fixed;
    inset: 4.5rem 0 0;
    z-index: 0;
    visibility: hidden;
    background: rgb(7 26 51 / 28%);
    opacity: 0;
    transition:
      opacity var(--inventory-motion-standard) ease,
      visibility 0s linear var(--inventory-motion-standard);
    content: "";
    pointer-events: none;
  }

  .inventory-site .inventory-header.has-open-nav::before,
  .inventory-foundation .inventory-header.has-open-nav::before {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
    pointer-events: auto;
  }

  .inventory-site .inventory-header .header-inner,
  .inventory-foundation .inventory-header .header-inner {
    position: relative;
    z-index: 1;
  }

  .inventory-site .inventory-header .main-nav,
  .inventory-foundation .inventory-header .main-nav {
    display: flex;
    position: fixed;
    top: 5.25rem;
    right: clamp(.75rem, 3vw, 1.5rem);
    left: clamp(.75rem, 3vw, 1.5rem);
    flex-direction: column;
    align-items: stretch;
    align-self: auto;
    gap: .2rem;
    max-height: calc(100dvh - 6rem);
    padding: .55rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid rgb(7 26 51 / 14%);
    border-radius: 1rem;
    background: rgb(255 255 255 / 98%);
    box-shadow: 0 24px 70px rgb(7 26 51 / 24%);
    visibility: hidden;
    opacity: 0;
    transform: translateY(-.5rem) scale(.99);
    transform-origin: top center;
    transition:
      opacity var(--inventory-motion-standard) ease,
      transform var(--inventory-motion-standard) ease,
      visibility 0s linear var(--inventory-motion-standard);
    pointer-events: none;
  }

  .inventory-site .inventory-header .main-nav a,
  .inventory-foundation .inventory-header .main-nav a {
    min-height: 2.9rem;
    padding: .78rem .9rem;
    border: 0;
    border-radius: .7rem;
    color: var(--inventory-navy-900);
  }

  .inventory-site .inventory-header .main-nav > a:hover,
  .inventory-site .inventory-header .main-nav > a[aria-current="page"],
  .inventory-foundation .inventory-header .main-nav > a:hover,
  .inventory-foundation .inventory-header .main-nav > a[aria-current="page"] {
    background: var(--inventory-blue-100);
    color: var(--inventory-blue-700);
  }

  .inventory-site .inventory-header .main-nav.is-open,
  .inventory-foundation .inventory-header .main-nav.is-open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0) scale(1);
    transition:
      opacity var(--inventory-motion-standard) ease,
      transform var(--inventory-motion-standard) ease,
      visibility 0s;
    pointer-events: auto;
  }

  .inventory-site .inventory-header .nav-toggle,
  .inventory-foundation .inventory-header .nav-toggle { display: flex; }

  .inventory-site .nav-toggle.is-open span:nth-child(1),
  .inventory-foundation .nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .inventory-site .nav-toggle.is-open span:nth-child(2),
  .inventory-foundation .nav-toggle.is-open span:nth-child(2) { opacity: 0; }
  .inventory-site .nav-toggle.is-open span:nth-child(3),
  .inventory-foundation .nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .inventory-site .inventory-header .inventory-header-actions .inventory-login-link,
  .inventory-foundation .inventory-header .inventory-header-actions .inventory-login-link { display: none; }

  .inventory-site .inventory-nav .inventory-nav-login,
  .inventory-foundation .inventory-nav .inventory-nav-login {
    display: block;
    margin-top: .35rem;
    border-top: 1px solid var(--inventory-slate-300);
    border-radius: 0;
    color: var(--inventory-navy-950);
    font-weight: 700;
  }

  .inventory-nav-group {
    display: block;
    align-self: auto;
  }
  .inventory-nav-parent {
    width: 100%;
    color: var(--inventory-navy-950) !important;
    font-weight: 800;
  }
  .inventory-nav-parent::after { display: none; }
  .inventory-nav-sub {
    display: none;
    position: static;
    min-width: 0;
    margin: .1rem .45rem .4rem;
    padding: .15rem 0 .15rem .55rem;
    border: 0;
    border-left: 2px solid var(--inventory-blue-100);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .inventory-nav-sub::before { content: none; }
  .inventory-site .inventory-header .main-nav.is-open .inventory-nav-sub,
  .inventory-foundation .inventory-header .main-nav.is-open .inventory-nav-sub { display: grid; }
  .inventory-nav-sub a {
    min-height: 2.6rem !important;
    padding: .62rem .75rem !important;
    font-weight: 600;
  }
  .inventory-explore-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

html.inventory-nav-open { overflow: hidden; }

@media (max-width: 40rem) {
  .inventory-site .inventory-header .header-inner,
  .inventory-foundation .inventory-header .header-inner {
    flex-wrap: nowrap;
    row-gap: 0;
    padding-top: 0;
    padding-bottom: 0;
  }
  .inventory-site .inventory-header .inventory-header-actions,
  .inventory-foundation .inventory-header .inventory-header-actions {
    order: initial;
    flex-basis: auto;
    justify-content: flex-end;
    padding-right: .75rem;
  }
  .inventory-header-actions .btn { min-height: 2.5rem; padding: .55rem .8rem; font-size: .75rem; }
  .inventory-explore-grid { grid-template-columns: 1fr; }
}

@media (max-width: 26rem) {
  .inventory-brand-name { display: none; }
}

@media (max-width: 28rem) {
  .inventory-browser-frame__bar { gap: .5rem; padding: .625rem; }
  .inventory-record-card__header,
  .inventory-ledger__event { align-items: flex-start; grid-template-columns: 1fr; }
  .inventory-record-card__details { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .inventory-foundation *,
  .inventory-foundation *::before,
  .inventory-foundation *::after,
  .inventory-site *,
  .inventory-site *::before,
  .inventory-site *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (forced-colors: active) {
  .inventory-site .inventory-app-handoff { background: Canvas; backdrop-filter: none; }
  .inventory-site .inventory-app-handoff__card { border: 2px solid CanvasText; box-shadow: none; }
  .inventory-site .inventory-app-handoff__spinner { border-color: GrayText; border-top-color: Highlight; }
  .inventory-site .inventory-app-handoff__progress span { background: Highlight; }
}
