*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  background: var(--edi-standalone-paper);
  color: var(--edi-standalone-ink);
  font-family: var(--edi-standalone-sans);
  scroll-behavior: smooth; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}

body {
  margin: 0;
  min-width: 20rem;
  overflow-x: hidden;
}

img {
  height: auto;
  max-width: 100%;
}

a {
  color: inherit;
}

button,
input,
textarea {
  color: inherit;
  font: inherit;
}

button,
a,
input,
textarea {
  border-radius: 0.25rem;
}

:focus-visible {
  outline: 0.1875rem solid var(--edi-standalone-ink);
  outline-offset: 0.1875rem;
}

.edi-standalone-skip-link {
  align-items: center;
  background: var(--edi-standalone-ink);
  color: var(--edi-standalone-panel);
  display: inline-flex;
  left: 1rem;
  min-height: 2.75rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: 1rem;
  transform: translateY(-200%);
  z-index: 100;
}

.edi-standalone-skip-link:focus {
  transform: translateY(0);
}

.edi-standalone-header {
  align-items: center;
  display: grid;
  gap: 1rem;
  top: 0;
  z-index: 20;
}

.edi-standalone-menu-toggle {
  align-items: center;
  background: transparent;
  border: 1px solid var(--edi-standalone-rule);
  display: none;
  justify-content: center;
  min-height: 2.75rem;
  min-width: 2.75rem;
  padding: 0.5rem 0.75rem;
}

.edi-standalone-navigation-ready .edi-standalone-menu-toggle {
  display: inline-flex;
}

.edi-standalone-nav a {
  align-items: center;
  display: flex;
}

.edi-standalone-nav a[aria-current="page"] {
  text-underline-offset: 0.3rem;
}

.edi-standalone-navigation-ready .edi-standalone-nav:not([data-open]) {
  display: none;
}

.edi-standalone-account-link {
  align-items: center;
  display: inline-flex;
}

.edi-standalone-header-actions .edi-standalone-account-link[hidden] {
  display: none;
}

.edi-standalone-account-signout {
  background: transparent;
  border: 0;
  color: var(--edi-standalone-copy);
  cursor: pointer;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  min-height: 2.75rem;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  white-space: nowrap;
}

.edi-standalone-account-signout:disabled {
  cursor: wait;
  opacity: 0.55;
}

.edi-standalone-account-signout[data-state="error"] {
  color: var(--edi-standalone-ink);
}

.edi-standalone-eyebrow {
  color: var(--edi-standalone-muted);
  font-size: 0.75rem;
  font-weight: 650;
  margin: 0 0 1rem;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2,
h3 {
  line-height: 0.98;
}

h1 {
  font-size: var(--edi-h1-page);
  margin-bottom: 1.5rem;
  max-width: 13ch;
}

p,
li,
label,
input,
textarea {
  line-height: 1.55;
}

.edi-standalone-page-heading > p:last-child {
  color: var(--edi-standalone-copy);
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  max-width: 43rem;
}

.edi-standalone-button {
  align-items: center;
  border: 1px solid var(--edi-standalone-ink);
  display: inline-flex;
  justify-content: center;
  text-decoration: none;
}

.edi-standalone-button:hover {
  background: var(--edi-standalone-control);
}

.edi-standalone-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

.edi-standalone-page-heading {
  border-bottom: 1px solid var(--edi-standalone-rule);
  margin-bottom: 2rem;
  padding-bottom: clamp(2rem, 5vw, 4rem);
}

.edi-standalone-page-heading-compact h1 {
  font-size: var(--edi-h1-page);
}

.edi-standalone-visually-hidden {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.edi-standalone-page-catalog {
  min-width: 0;
}

/* Catalog directory: one family per row at every width, centred in 60rem
   (SPEC "Catalog browsing layout"). Plates stay white because every
   photo is shot on white. */
.edi-standalone-catalog-hero {
  border-bottom: 0;
  display: grid;
  gap: 1.25rem;
  justify-items: center;
  margin: 0 auto;
  max-width: 60rem;
  padding: 0.5rem 0 0;
  text-align: center;
}

.edi-standalone-page-catalog .edi-standalone-page-heading h1 {
  font-size: var(--edi-h1-page);
  letter-spacing: -0.04em;
  line-height: 1;
  margin: 0;
}

.edi-standalone-catalog-cta {
  align-items: center;
  border: 1px solid var(--edi-standalone-rule);
  border-radius: 8px;
  display: inline-flex;
  font-size: 0.9375rem;
  font-weight: 550;
  min-height: 2.75rem;
  padding: 0 1.25rem;
  text-decoration: none;
}

.edi-standalone-catalog-cta:hover {
  border-color: var(--edi-standalone-ink);
}

.edi-standalone-catalog-controls {
  display: grid;
  justify-items: center;
  margin: 0 auto;
  max-width: 60rem;
  padding: 2rem 0 1.5rem;
}

.edi-standalone-catalog-search {
  display: grid;
  gap: 0.625rem;
  justify-items: center;
  width: min(100%, 34rem);
}

.edi-standalone-catalog-search input {
  background: var(--edi-standalone-control);
  border: 1px solid transparent;
  border-radius: 8px;
  min-height: 3rem;
  padding: 0.6875rem 1.25rem;
  width: 100%;
}

.edi-standalone-catalog-search input:focus {
  border-color: var(--edi-standalone-focus);
}

.edi-standalone-catalog-count {
  color: var(--edi-standalone-muted);
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
  margin: 0;
}

/* A centered grid of large product plates: the whole range fits in about
   two screens, and nothing hugs the left edge (Laks 2026-09-14: "too wide,
   with tiny images and everything anchored left"). 24 families split evenly
   into 4, 3 and 2 columns. */
.edi-standalone-catalog-list {
  display: grid;
  gap: 2rem 1.25rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 0 auto;
  max-width: 72rem;
  padding: 0;
}

.edi-standalone-catalog-row {
  margin: 0;
  padding: 0;
}

.edi-standalone-catalog-row[hidden] {
  display: none !important;
}

.edi-standalone-catalog-card {
  align-content: start;
  border-radius: var(--edi-standalone-radius);
  display: grid;
  gap: 0.875rem;
  grid-template-columns: minmax(0, 1fr);
  height: 100%;
  padding: 0.5rem 0.5rem 0.75rem;
  position: relative;
  transition: background-color var(--dur-hover) var(--ease-out);
}

.edi-standalone-catalog-card:hover {
  background: var(--edi-standalone-control);
}

.edi-standalone-catalog-figure {
  align-items: center;
  aspect-ratio: 1;
  background: var(--edi-standalone-plate);
  border: 1px solid var(--edi-standalone-rule-soft);
  border-radius: var(--edi-standalone-plate-radius);
  color: #5b6874;
  display: flex;
  justify-content: center;
  overflow: hidden;
  width: 100%;
}

.edi-standalone-catalog-monogram {
  font-size: clamp(1.25rem, 1rem + 1.5vw, 2rem);
  font-weight: 600;
  letter-spacing: -0.02em;
}

/* 95% box with 4.5% padding keeps the photo at 86% of the frame; the 1.05
   hover zoom then stays inside the frame instead of being clipped by it. */
.edi-standalone-catalog-thumb {
  height: 95%;
  object-fit: contain;
  padding: 4.5%;
  transition: transform var(--dur-menu-in) var(--ease-out);
  width: 95%;
}

.edi-standalone-catalog-card:hover .edi-standalone-catalog-thumb {
  transform: scale(1.05);
}

.edi-standalone-catalog-copy {
  display: grid;
  gap: 0.3125rem;
  min-width: 0;
}

.edi-standalone-catalog-title {
  font-size: 1.125rem;
  line-height: 1.2;
  margin: 0;
  overflow-wrap: anywhere;
}

.edi-standalone-catalog-link {
  text-decoration: none;
}

.edi-standalone-catalog-link::after {
  border-radius: var(--edi-standalone-radius);
  content: "";
  inset: 0;
  position: absolute;
}

.edi-standalone-catalog-link:focus-visible {
  outline: none;
}

.edi-standalone-catalog-link:focus-visible::after {
  outline: 0.1875rem solid var(--edi-standalone-focus);
  outline-offset: 0.125rem;
}

.edi-standalone-catalog-items {
  color: var(--edi-standalone-muted);
  font-size: 0.9375rem;
  font-variant-numeric: tabular-nums;
}

.edi-standalone-catalog-row-actions {
  position: absolute;
  right: 1rem;
  top: 1rem;
}

.edi-standalone-sales-category-option {
  align-items: center;
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 700;
  gap: 0.5rem;
  min-height: 2.75rem;
  position: relative;
  z-index: 1;
}

.edi-standalone-sales-category-option[hidden] {
  display: none;
}

.edi-standalone-sales-category-option input {
  accent-color: var(--edi-standalone-ink);
  height: 1.25rem;
  margin: 0;
  width: 1.25rem;
}

@media (max-width: 61.8125rem) {
  .edi-standalone-catalog-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 46.8125rem) {
  .edi-standalone-catalog-list {
    gap: 1.25rem 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .edi-standalone-catalog-card {
    gap: 0.625rem;
    padding: 0.25rem 0.25rem 0.5rem;
  }

  .edi-standalone-catalog-title {
    font-size: 1rem;
  }

  .edi-standalone-catalog-items {
    font-size: 0.875rem;
  }
}

.edi-standalone-sales-workspace {
  border-block: 1px solid var(--edi-standalone-rule);
  display: grid;
  gap: 1.25rem;
  margin: 0 0 1.5rem;
  padding: 1.5rem 0;
}

.edi-standalone-sales-workspace-heading {
  align-items: end;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 0.7fr) minmax(18rem, 1.3fr);
}

.edi-standalone-sales-workspace-kicker {
  color: var(--edi-standalone-muted);
  font-size: 0.6875rem;
  font-weight: 650;
  margin: 0 0 0.25rem;
}

.edi-standalone-sales-workspace-heading h2 {
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
}

.edi-standalone-sales-workspace-heading > p {
  color: var(--edi-standalone-copy);
  font-size: 0.875rem;
  line-height: 1.45;
  margin: 0;
  max-width: 60ch;
}

.edi-standalone-sales-workspace-bar {
  align-items: end;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(15rem, 1fr) minmax(14rem, 1fr) auto auto;
}

.edi-standalone-sales-field {
  color: var(--edi-standalone-copy);
  display: grid;
  font-size: 0.75rem;
  font-weight: 650;
  gap: 0.375rem;
}

.edi-standalone-sales-field em {
  color: var(--edi-standalone-muted);
  font-style: normal;
  font-weight: 500;
}

.edi-standalone-sales-field input,
.edi-standalone-sales-field textarea,
.edi-standalone-listbox-trigger {
  appearance: none;
  background: var(--edi-standalone-control);
  border: 1px solid transparent;
  border-radius: var(--edi-standalone-card-radius);
  color: var(--edi-standalone-ink);
  font: inherit;
  font-size: 0.875rem;
  min-height: 2.875rem;
  padding: 0.625rem 0.75rem;
  width: 100%;
}

.edi-standalone-sales-field input:focus-visible,
.edi-standalone-sales-field textarea:focus-visible,
.edi-standalone-listbox-trigger:focus-visible {
  border-color: var(--edi-standalone-ink);
  outline: 2px solid transparent;
}

.edi-standalone-listbox {
  position: relative;
}

.edi-standalone-listbox-trigger {
  align-items: center;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  text-align: left;
}

.edi-standalone-listbox-trigger::after {
  border-left: 0.3rem solid transparent;
  border-right: 0.3rem solid transparent;
  border-top: 0.35rem solid currentColor;
  content: "";
  flex: none;
  margin-left: 0.75rem;
  opacity: 0.6;
  transition: transform var(--dur-hover) var(--ease-out);
}

.edi-standalone-listbox-trigger[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

.edi-standalone-listbox-list {
  background: var(--edi-standalone-paper);
  border: 1px solid var(--edi-standalone-rule);
  border-radius: var(--edi-standalone-card-radius);
  box-shadow: 0 0.75rem 2rem rgb(0 0 0 / 12%);
  left: 0;
  list-style: none;
  margin: 0.375rem 0 0;
  max-height: 18rem;
  overflow-y: auto;
  padding: 0.375rem;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 20;
}

.edi-standalone-listbox-list[hidden] {
  display: none;
}

.edi-standalone-listbox-list button {
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: calc(var(--edi-standalone-card-radius) / 2);
  color: var(--edi-standalone-ink);
  cursor: pointer;
  display: block;
  font: inherit;
  min-height: 2.75rem;
  padding: 0.625rem 0.75rem;
  text-align: left;
  width: 100%;
}

.edi-standalone-listbox-list button:hover,
.edi-standalone-listbox-list button:focus-visible {
  background: var(--edi-standalone-control);
  outline: none;
}

.edi-standalone-listbox-list button[aria-selected="true"] {
  font-weight: 800;
}

.edi-standalone-sales-selection,
.edi-standalone-sales-primary-actions {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  min-height: 2.875rem;
}

.edi-standalone-sales-selection strong {
  font-size: 0.75rem;
  min-width: 6.75rem;
}

.edi-standalone-sales-selection button {
  background: transparent;
  border: 0;
  color: var(--edi-standalone-copy);
  cursor: pointer;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  min-height: 2.75rem;
  padding: 0 0.25rem;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.edi-standalone-sales-primary-actions .edi-standalone-button {
  min-height: 2.875rem;
  padding-inline: 1rem;
  white-space: nowrap;
}

.edi-standalone-sales-quote-note {
  color: var(--edi-standalone-copy-muted);
  font-size: 0.78rem;
  margin: 0.75rem 0 0;
}

.edi-standalone-sales-workspace button:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.edi-standalone-sales-prospect {
  align-items: end;
  border: 0;
  border-top: 1px solid var(--edi-standalone-rule-soft);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  margin: 0;
  padding: 1.25rem 0 0;
}

.edi-standalone-sales-prospect[hidden] {
  display: none;
}

.edi-standalone-sales-prospect legend {
  font-size: 0.8125rem;
  font-weight: 750;
  margin-bottom: 0.5rem;
  padding: 0;
}

.edi-standalone-sales-prospect .edi-standalone-button {
  min-height: 2.875rem;
  padding-inline: 1rem;
  white-space: nowrap;
}

.edi-sales-customer-setup {
  border-top: 1px solid var(--edi-standalone-rule-soft);
  grid-column: 1 / -1;
  margin-top: 0.5rem;
  padding-top: 0.875rem;
}

.edi-sales-customer-setup summary {
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 750;
}

.edi-sales-customer-setup-intro p,
.edi-sales-customer-setup-empty,
.edi-sales-customer-setup [data-customer-setup-status] {
  color: var(--edi-standalone-muted);
  font-size: 0.75rem;
  line-height: 1.45;
  margin: 0;
}

.edi-sales-customer-setup form {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.edi-sales-customer-setup-addresses {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.edi-sales-customer-setup-contact {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.edi-sales-customer-setup-contact > p {
  color: var(--edi-standalone-muted);
  font-size: 0.75rem;
  font-weight: 750;
  grid-column: 1 / -1;
  margin: 0;
}

.edi-sales-customer-setup-addresses fieldset {
  border: 1px solid var(--edi-standalone-rule-soft);
  border-radius: var(--edi-standalone-card-radius);
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 1rem;
}

.edi-sales-customer-setup-addresses legend {
  font-size: 0.75rem;
  font-weight: 750;
  margin: 0;
  padding-inline: 0.25rem;
}

.edi-sales-customer-setup-same-address {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-size: 0.75rem;
  gap: 0.625rem;
  min-height: 2.75rem;
}

.edi-sales-customer-setup-same-address input {
  height: 1.125rem;
  margin: 0;
  width: 1.125rem;
}

.edi-sales-customer-setup-options {
  border: 1px solid var(--edi-standalone-rule-soft);
  border-radius: var(--edi-standalone-card-radius);
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 1rem;
}

.edi-sales-customer-setup-options > legend,
.edi-sales-customer-type-options > span {
  font-size: 0.75rem;
  font-weight: 750;
}

.edi-sales-customer-type-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.edi-sales-customer-type-options > span {
  flex-basis: 100%;
}

.edi-sales-customer-type-options label {
  cursor: pointer;
  display: inline-flex;
  min-height: 44px;
  position: relative;
}

.edi-sales-customer-type-options input {
  inset: 0;
  opacity: 0;
  position: absolute;
}

.edi-sales-customer-type-options label > span {
  align-items: center;
  border: 1px solid var(--edi-standalone-rule-soft);
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 700;
  min-height: 44px;
  padding: 0 0.875rem;
}

.edi-sales-customer-type-options input:checked + span {
  background: var(--edi-standalone-ink);
  border-color: var(--edi-standalone-ink);
  color: var(--edi-standalone-panel);
}

.edi-sales-customer-type-options input:focus-visible + span {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.edi-sales-customer-setup-portal-invite {
  align-items: flex-start;
  cursor: pointer;
  display: flex;
  gap: 0.75rem;
}

.edi-sales-customer-setup-portal-invite input {
  height: 1.125rem;
  margin: 0.15rem 0 0;
  width: 1.125rem;
}

.edi-sales-customer-setup-portal-invite span {
  display: grid;
  gap: 0.125rem;
}

.edi-sales-customer-setup-portal-invite strong,
.edi-sales-customer-setup-portal-invite small {
  font-size: 0.75rem;
  line-height: 1.4;
}

.edi-sales-customer-setup-portal-invite small {
  color: var(--edi-standalone-muted);
}

.edi-sales-customer-setup-quote {
  color: var(--edi-standalone-muted);
  font-size: 0.75rem;
  margin: 0;
}

.edi-sales-customer-setup-quote[data-state="ready"] {
  color: var(--edi-standalone-ink);
  font-weight: 700;
}

.edi-sales-customer-setup .edi-standalone-sales-field textarea {
  min-height: 6rem;
  resize: vertical;
}

.edi-sales-customer-setup-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
}

.edi-sales-customer-setup-actions [hidden] {
  display: none !important;
}

.edi-sales-customer-setup-actions a {
  align-items: center;
  display: inline-flex;
  font-size: 0.75rem;
  min-height: 2.75rem;
}

.edi-sales-customer-setup-requests {
  border-top: 1px solid var(--edi-standalone-rule-soft);
  display: grid;
  gap: 0;
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
}

.edi-sales-customer-setup-requests li,
.edi-sales-customer-setup-request-identity,
.edi-sales-customer-setup-request-state {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.edi-sales-customer-setup-requests li {
  border-bottom: 1px solid var(--edi-standalone-rule-soft);
  font-size: 0.75rem;
  min-height: 2.75rem;
}

.edi-sales-customer-setup-request-state button {
  background: transparent;
  border: 1px solid var(--edi-standalone-rule-soft);
  border-radius: 999px;
  color: var(--edi-standalone-ink);
  cursor: pointer;
  font: inherit;
  font-weight: 750;
  min-height: 2.75rem;
  padding-inline: 0.75rem;
}

.edi-sales-customer-setup-request-state button:hover {
  border-color: currentColor;
}

.edi-sales-customer-setup-request-state button:disabled {
  cursor: wait;
  opacity: 0.6;
}

.edi-sales-customer-setup-request-state button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.edi-sales-customer-setup-requests time {
  color: var(--edi-standalone-muted);
}

.edi-sales-freight-request {
  border-block: 1px solid var(--edi-standalone-rule-soft);
  padding-block: 0.875rem;
}

.edi-sales-freight-request summary {
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 750;
}

.edi-sales-freight-request form {
  align-items: end;
  display: grid;
  gap: 0.875rem;
  margin-top: 1rem;
}

.edi-sales-freight-request form > p {
  color: var(--edi-standalone-muted);
  font-size: 0.75rem;
  margin: 0;
}

.edi-sales-freight-fields {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.edi-sales-freight-request .edi-standalone-button {
  justify-self: start;
}

.edi-sales-freight-requests {
  display: grid;
  gap: 0.375rem;
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
}

.edi-sales-freight-requests[hidden] {
  display: none;
}

.edi-sales-freight-requests li {
  align-items: center;
  display: flex;
  font-size: 0.75rem;
  gap: 0.75rem;
  justify-content: space-between;
}

.edi-sales-freight-requests span {
  color: var(--edi-standalone-muted);
  text-transform: capitalize;
}

.edi-standalone-sales-feedback {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.edi-standalone-sales-feedback p {
  color: var(--edi-standalone-muted);
  font-size: 0.8125rem;
  line-height: 1.4;
  margin: 0;
}

.edi-standalone-sales-feedback p[data-state="error"] {
  color: var(--edi-standalone-ink);
  font-weight: 700;
}

.edi-standalone-sales-feedback a {
  color: var(--edi-standalone-ink);
  font-size: 0.8125rem;
  font-weight: 750;
}

.edi-standalone-sales-feedback a[hidden] {
  display: none;
}

.edi-sales-workbench {
  align-items: start;
  border-top: 1px solid var(--edi-standalone-rule);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr);
  padding-top: 1.5rem;
}

.edi-sales-category-panel {
  background: var(--edi-standalone-panel);
  border: 1px solid var(--edi-standalone-rule);
  border-radius: var(--edi-standalone-card-radius);
  display: grid;
  gap: 1rem;
  padding: 1rem;
  position: sticky;
  top: 6.5rem;
}

.edi-sales-category-heading,
.edi-sales-price-heading {
  align-items: end;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.edi-sales-category-heading h3,
.edi-sales-price-heading h3 {
  font-size: 1.25rem;
  font-weight: 650;
  line-height: 1.1;
  margin: 0;
}

.edi-sales-category-heading > span,
.edi-sales-price-heading > p {
  color: var(--edi-standalone-muted);
  font-size: 0.75rem;
  margin: 0;
}

.edi-sales-category-tools {
  display: flex;
  gap: 1rem;
}

.edi-sales-category-tools button {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--edi-standalone-copy);
  cursor: pointer;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 750;
  min-height: 2.75rem;
  min-width: 2.75rem;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.edi-sales-category-options {
  display: grid;
  gap: 0.25rem;
  max-height: 25rem;
  overflow-y: auto;
}

.edi-sales-category-choice {
  align-items: center;
  border-radius: calc(var(--edi-standalone-card-radius) / 2);
  cursor: pointer;
  display: grid;
  font-size: 0.8125rem;
  gap: 0.625rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 2.75rem;
  padding: 0.5rem;
}

.edi-sales-category-choice:hover,
.edi-sales-category-choice:has(input:focus-visible) {
  background: var(--edi-standalone-control);
}

.edi-sales-category-choice[hidden] {
  display: none;
}

.edi-sales-category-choice[data-empty="true"] {
  opacity: 0.55;
}

.edi-sales-category-choice input,
.edi-sales-item > input {
  accent-color: var(--edi-standalone-ink);
  height: 1.125rem;
  margin: 0;
  width: 1.125rem;
}

.edi-sales-category-choice span {
  line-height: 1.25;
}

.edi-sales-category-choice small {
  color: var(--edi-standalone-muted);
  font-size: 0.6875rem;
}

.edi-sales-price-panel {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.edi-sales-price-panel > [data-sales-price-table] {
  min-width: 0;
}

.edi-sales-price-loading,
.edi-sales-price-empty {
  color: var(--edi-standalone-muted);
  font-size: 0.8125rem;
  margin: 0;
  padding: 2rem;
  text-align: center;
}

.edi-sales-inventory-freshness {
  align-items: baseline;
  background: var(--edi-standalone-panel);
  border: 1px solid var(--edi-standalone-rule);
  border-radius: var(--edi-standalone-card-radius);
  display: flex;
  gap: 0.75rem 1rem;
  justify-content: space-between;
  padding: 0.75rem 1rem;
}

.edi-sales-inventory-freshness strong {
  flex: 0 0 auto;
  font-size: 0.75rem;
  font-weight: 750;
}

.edi-sales-inventory-freshness span {
  color: var(--edi-standalone-muted);
  font-size: 0.75rem;
  line-height: 1.4;
  text-align: right;
}

.edi-sales-inventory-freshness time {
  font-variant-numeric: tabular-nums;
}

.edi-sales-inventory-freshness[data-state="check-required"] {
  border-style: dashed;
}

.edi-sales-price-table-scroll {
  border: 1px solid var(--edi-standalone-rule);
  border-radius: var(--edi-standalone-card-radius);
  max-height: 38rem;
  overflow: auto;
}

.edi-sales-price-table {
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.75rem;
  min-width: 58rem;
  table-layout: fixed;
  width: 100%;
}

.edi-sales-price-table[data-price-types="2"] {
  min-width: 75.25rem;
}

.edi-sales-price-table caption {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.edi-sales-price-table th,
.edi-sales-price-table td {
  background: var(--edi-standalone-paper);
  border-bottom: 1px solid var(--edi-standalone-rule-soft);
  font-variant-numeric: tabular-nums;
  padding: 0.625rem 0.375rem;
  text-align: right;
  vertical-align: middle;
  white-space: nowrap;
}

.edi-sales-price-table thead th {
  background: var(--edi-standalone-panel);
  color: var(--edi-standalone-muted);
  font-size: 0.6875rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  position: sticky;
  text-transform: uppercase;
  top: 0;
  white-space: normal;
  z-index: 2;
}

.edi-sales-price-table th:nth-child(1),
.edi-sales-price-table td:nth-child(1) {
  text-align: left;
  width: 23rem;
}

.edi-sales-price-table thead th:not(:first-child) {
  width: 4.75rem;
}

.edi-sales-item {
  align-items: flex-start;
  display: grid;
  gap: 0.625rem;
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
  width: 100%;
}

.edi-sales-item:has(.edi-sales-item-images) {
  grid-template-columns: auto 7.375rem minmax(0, 1fr);
}

.edi-sales-item-readonly {
  grid-template-columns: minmax(0, 1fr);
}

.edi-sales-item-image {
  aspect-ratio: 1;
  background: var(--edi-standalone-panel);
  border: 1px solid var(--edi-standalone-rule-soft);
  border-radius: 0.375rem;
  height: 3.5rem;
  object-fit: contain;
  width: 3.5rem;
}

.edi-sales-price-table tbody th .edi-sales-item-images {
  align-items: flex-start;
  display: grid;
  gap: 0.375rem;
  grid-template-columns: repeat(2, 3.5rem);
  margin-top: 0;
  width: 7.375rem;
}

.edi-sales-price-table tbody th .edi-sales-item-image-role {
  display: grid;
  gap: 0.1875rem;
  justify-items: center;
  margin-top: 0;
  min-height: 4.375rem;
  width: 3.5rem;
}

.edi-sales-price-table tbody th .edi-sales-item-image-role--empty {
  visibility: hidden;
}

.edi-sales-price-table tbody th .edi-sales-item-image-role > small {
  color: var(--edi-standalone-muted);
  font-size: 0.625rem;
  line-height: 1.1;
  margin: 0;
  text-align: center;
}

.edi-sales-item > span {
  min-width: 0;
}

.edi-sales-price-table tbody th {
  max-width: none;
  min-width: 23rem;
  white-space: normal;
}

.edi-sales-price-table tbody th strong,
.edi-sales-price-table tbody th span,
.edi-sales-price-table tbody th small {
  display: block;
}

.edi-sales-price-table tbody th strong {
  font-size: 0.75rem;
}

.edi-sales-price-table tbody th span {
  color: var(--edi-standalone-copy);
  line-height: 1.25;
  margin-top: 0.125rem;
}

.edi-sales-price-table tbody th small {
  color: var(--edi-standalone-muted);
  font-size: 0.6875rem;
  font-weight: 500;
  margin-top: 0.25rem;
}

.edi-sales-price-table tbody tr[data-state="error"] > * {
  background: color-mix(in srgb, var(--edi-standalone-paper), #f4c9c9 22%);
}

.edi-sales-price-input {
  align-items: center;
  background: var(--edi-standalone-control);
  border: 1px solid transparent;
  border-radius: calc(var(--edi-standalone-card-radius) / 2);
  display: inline-flex;
  min-width: 0;
  padding: 0 0.25rem;
  width: 4rem;
}

.edi-sales-price-input:focus-within {
  border-color: var(--edi-standalone-ink);
}

.edi-sales-price-input input {
  appearance: textfield;
  background: transparent;
  border: 0;
  box-sizing: border-box;
  color: var(--edi-standalone-ink);
  font: inherit;
  font-variant-numeric: tabular-nums;
  min-height: 2.75rem;
  outline: 0;
  padding: 0.5rem 0.25rem;
  text-align: right;
  min-width: 0;
  width: 100%;
}

.edi-sales-price-input input::-webkit-inner-spin-button,
.edi-sales-price-input input::-webkit-outer-spin-button {
  appearance: none;
  margin: 0;
}

.edi-sales-price-input input:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.edi-sales-case-input {
  display: inline-grid;
  gap: 0.25rem;
  justify-items: end;
  width: 100%;
}

.edi-sales-case-input input {
  appearance: textfield;
  background: var(--edi-standalone-control);
  border: 1px solid transparent;
  border-radius: calc(var(--edi-standalone-card-radius) / 2);
  box-sizing: border-box;
  color: var(--edi-standalone-ink);
  font: inherit;
  font-variant-numeric: tabular-nums;
  min-height: 2.75rem;
  outline: 0;
  padding: 0.5rem;
  text-align: right;
  min-width: 0;
  width: 100%;
}

.edi-sales-case-input input:focus {
  border-color: var(--edi-standalone-ink);
}

.edi-sales-case-input > small:not(.edi-sales-row-error) {
  color: var(--edi-standalone-muted);
  font-size: 0.65rem;
  line-height: 1.25;
  white-space: normal;
}

.edi-sales-row-error {
  color: var(--edi-standalone-ink);
  display: block;
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 0.25rem;
  max-width: 12rem;
  text-align: left;
  white-space: normal;
}

.edi-sales-row-error:empty {
  display: none;
}

.edi-standalone-catalog-empty {
  border: 1px solid var(--edi-standalone-rule);
  border-radius: var(--edi-standalone-card-radius);
  color: var(--edi-standalone-copy);
  margin: 0;
  padding: 2rem;
  text-align: center;
}

.edi-standalone-form h2 {
  font-size: clamp(1.8rem, 3vw, 3rem);
}

.edi-standalone-form-grid {
  display: grid;
}

.edi-standalone-form label {
  display: grid;
}

.edi-standalone-form input:not([type="radio"]),
.edi-standalone-form textarea {
  width: 100%;
}

.edi-standalone-form textarea {
  resize: vertical;
}

.edi-standalone-honeypot {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.edi-standalone-form-note {
  color: var(--edi-standalone-muted);
  font-size: 0.8125rem;
  margin-top: 1rem;
}

.edi-standalone-form-alert {
  background: var(--edi-standalone-control);
  border-left: 0.25rem solid var(--edi-standalone-ink);
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
}

.edi-standalone-form-alert p {
  margin: 0;
}

.edi-standalone-form-note a {
  display: inline;
}

.edi-standalone-not-found {
  min-height: 60vh;
}

.edi-standalone-not-found h1 {
  max-width: 9ch;
}@media (min-width: 48rem) {

  .edi-standalone-menu-toggle,
  .edi-standalone-navigation-ready .edi-standalone-menu-toggle {
    display: none;
  }
}@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

.edi-standalone-catalog-link:hover {
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}

/* Dawn authored the reference detail geometry on a 62.5% root. These values
   preserve those pixel dimensions on standalone's 100% root. */

.edi-standalone-compact-detail {
  display: grid;
  gap: 0.5rem;
}

.edi-standalone-compact-detail h1 {
  font-size: var(--edi-h1-item);
  letter-spacing: -0.035em;
  line-height: 1.02;
  margin: 0;
}

.edi-product-count {
  color: var(--edi-standalone-muted);
  font-size: 0.9375rem;
  margin: 0 0 1rem;
}

/* One card per item: the photo on its white plate, then the size that tells
   it apart from its neighbours, its name, pack counts and item code. */
.edi-product-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
}

.edi-product-card {
  align-content: start;
  background: var(--edi-standalone-panel);
  border: 1px solid var(--edi-standalone-rule-soft);
  border-radius: var(--edi-standalone-radius);
  display: grid;
  gap: 0.25rem;
  padding: 0 0 0.875rem;
  position: relative;
  scroll-margin-top: 6rem;
  transition: border-color var(--dur-hover) var(--ease-out);
}

.edi-product-card:hover,
.edi-product-card:target {
  border-color: var(--edi-standalone-ink);
}

/* Account prices arrive as a table; the card takes the whole row for it. */
.edi-product-card:has(> [data-catalog-pricing-target]:not(:empty)) {
  grid-column: 1 / -1;
}

.edi-product-card-photo {
  aspect-ratio: 1 / 1;
  background: var(--edi-standalone-plate);
  border-bottom: 1px solid var(--edi-standalone-rule-soft);
  border-radius: var(--edi-standalone-radius) var(--edi-standalone-radius) 0 0;
  margin: 0 0 0.5rem;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.edi-product-card-photo-empty {
  background: var(--edi-standalone-control);
}

.edi-product-card-photo img {
  height: 100%;
  object-fit: contain;
  padding: 8%;
  width: 100%;
}

.edi-product-card-title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  margin: 0;
  padding: 0 0.875rem;
}

/* The title link covers the card; the photo sits above it and opens the
   larger image instead. */
.edi-product-card-title a {
  color: var(--edi-standalone-ink);
  text-decoration: none;
}

.edi-product-card-title a::after {
  border-radius: inherit;
  content: "";
  inset: 0;
  position: absolute;
}

.edi-product-card-title a:focus-visible {
  outline: none;
}

.edi-product-card:has(.edi-product-card-title a:focus-visible) {
  outline: 0.1875rem solid var(--edi-standalone-focus);
  outline-offset: 0.125rem;
}

.edi-product-card-size {
  display: block;
  font-size: 1.375rem;
  font-weight: 650;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.edi-product-card-name {
  color: var(--edi-standalone-copy);
  display: block;
  font-size: 0.875rem;
}

.edi-product-card-pack,
.edi-product-card-code {
  color: var(--edi-standalone-muted);
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
  margin: 0;
  padding: 0 0.875rem;
}

.edi-product-card-pack {
  margin-top: 0.25rem;
}

.edi-product-card .edi-standalone-product-account-data {
  padding: 0 0.875rem;
  position: relative;
  z-index: 1;
}

.edi-standalone-image-spotlight-trigger {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  cursor: zoom-in;
  display: flex;
  height: 100%;
  justify-content: center;
  padding: 0;
  width: 100%;
}

.edi-standalone-image-spotlight-trigger:focus-visible {
  outline: 0.1875rem solid var(--edi-standalone-ink);
  outline-offset: 0.1875rem;
}

.edi-standalone-image-spotlight {
  background: transparent;
  border: 0;
  max-height: calc(100dvh - 2rem);
  max-width: calc(100vw - 2rem);
  overflow: visible;
  padding: 0;
}

.edi-standalone-image-spotlight::backdrop {
  background: rgba(7, 12, 22, 0.86);
}

.edi-standalone-image-spotlight-frame {
  align-items: center;
  background: var(--edi-standalone-panel);
  border-radius: 0.75rem;
  display: flex;
  justify-content: center;
  margin: 0;
  max-height: calc(100dvh - 2rem);
  max-width: min(62rem, calc(100vw - 2rem));
  overflow: hidden;
  width: min(62rem, calc(100vw - 2rem));
}

.edi-standalone-image-spotlight-frame img {
  background: var(--edi-standalone-panel);
  height: auto;
  max-height: calc(100dvh - 2rem);
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

.edi-standalone-image-spotlight-close {
  align-items: center;
  appearance: none;
  background: var(--edi-standalone-panel);
  border: 1px solid var(--edi-standalone-rule);
  border-radius: 999px;
  color: var(--edi-standalone-ink);
  cursor: pointer;
  display: inline-flex;
  font-size: 1.75rem;
  height: 2.75rem;
  justify-content: center;
  line-height: 1;
  padding: 0;
  position: absolute;
  right: 0.75rem;
  top: 0.75rem;
  width: 2.75rem;
  z-index: 1;
}

.edi-standalone-image-spotlight-close:focus-visible {
  outline: 0.1875rem solid var(--edi-standalone-ink);
  outline-offset: 0.1875rem;
}

.edi-standalone-compact-specs {
  align-self: start;
  min-width: 0;
}

/* The table is a four-track grid so the identity rows can start at its
   left edge while the labelled pairs keep their columns. */
.edi-standalone-compact-table {
  display: block;
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
  width: 100%;
}

.edi-standalone-compact-table tbody {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content minmax(0, 1fr);
}

.edi-standalone-compact-table tr {
  display: contents;
}

.edi-standalone-compact-table th,
.edi-standalone-compact-table td {
  border-bottom: 1px solid var(--edi-standalone-rule-soft);
  padding: 0.6875rem 1.5rem 0.6875rem 0;
  text-align: left;
}

.edi-standalone-compact-table td[colspan="3"] {
  grid-column: span 3;
}

.edi-standalone-compact-table th {
  color: var(--edi-standalone-muted);
  font-weight: 450;
  white-space: nowrap;
}

/* Item code and description read as the row's title; their labels stay in
   the table for assistive technology. */
.edi-standalone-compact-identity th {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.edi-standalone-compact-table .edi-standalone-compact-identity td {
  border-bottom: 0;
  grid-column: span 4;
  padding: 0;
}

.edi-standalone-compact-identity td[data-column="itemCode"] {
  color: var(--edi-standalone-muted);
  font-size: 0.8125rem;
  padding-bottom: 0.25rem;
}

.edi-standalone-compact-identity td[data-column="itemDescription"] {
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.25;
  padding-bottom: 0.875rem;
}

.edi-standalone-product-account-data {
  grid-column: 1 / -1;
  min-width: 0;
  width: 100%;
}

.edi-standalone-product-account-data:empty {
  display: none;
}

.edi-standalone-product-account-data .edi-sales-price-table-scroll {
  max-height: none;
}

.edi-standalone-account-product-data {
  border: 1px solid var(--edi-standalone-rule);
  border-radius: var(--edi-standalone-card-radius);
  overflow: hidden;
}

.edi-standalone-account-product-data table {
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
  width: 100%;
}

.edi-standalone-account-product-data caption {
  background: var(--edi-standalone-panel);
  caption-side: top;
  color: var(--edi-standalone-muted);
  font-size: 0.6875rem;
  padding: 0.625rem 0.75rem;
  text-align: left;
}

.edi-standalone-account-product-data th,
.edi-standalone-account-product-data td {
  border-top: 1px solid var(--edi-standalone-rule-soft);
  padding: 0.75rem;
  text-align: left;
}

.edi-standalone-account-product-data th {
  color: var(--edi-standalone-muted);
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.edi-standalone-account-price-change {
  color: var(--edi-standalone-muted);
  font-size: 0.75rem;
  margin: 0;
  padding: 0 0.75rem 0.75rem;
}

.edi-sales-price-unavailable {
  color: var(--edi-standalone-muted);
  font-size: 0.8125rem;
  margin: 0;
  padding: 0.75rem;
}

.edi-standalone-confirm-dialog {
  background: var(--edi-standalone-paper);
  border: 1px solid var(--edi-standalone-rule);
  border-radius: var(--edi-standalone-card-radius);
  color: var(--edi-standalone-ink);
  max-width: min(30rem, calc(100vw - 2rem));
  padding: 0;
}

.edi-standalone-confirm-dialog::backdrop {
  background: rgba(13, 31, 26, 0.42);
}

.edi-standalone-confirm-dialog form {
  display: grid;
  gap: 1rem;
  padding: 1.5rem;
}

.edi-standalone-confirm-dialog h3,
.edi-standalone-confirm-dialog p {
  margin: 0;
}

.edi-standalone-confirm-dialog p {
  color: var(--edi-standalone-muted);
  line-height: 1.5;
}

.edi-standalone-confirm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

.edi-standalone-page-sales-help .edi-standalone-main {
  max-width: 96rem;
  padding: clamp(2.5rem, 5vw, 5.5rem) clamp(1.25rem, 4vw, 4rem) 7rem;
}

.edi-standalone-page-sales-help .edi-standalone-footer small a,
.edi-standalone-page-sales-help .edi-standalone-footer-social a {
  min-height: 2.75rem;
}

.edi-standalone-page-sales-help .edi-standalone-footer-social a {
  min-width: 2.75rem;
}

.edi-sales-help-shell {
  display: grid;
  gap: clamp(5rem, 9vw, 8.5rem);
}

.edi-sales-help-shell [hidden] {
  display: none;
}

.edi-sales-help-loading,
.edi-sales-help-unavailable {
  align-content: center;
  min-height: min(65vh, 42rem);
}

.edi-sales-help-loading h1,
.edi-sales-help-unavailable h1 {
  font-size: clamp(2.5rem, 7vw, 6rem);
  font-weight: 430;
  line-height: 0.95;
  margin: 0.75rem 0 2rem;
  max-width: 12ch;
}

.edi-sales-help-kicker {
  color: #0878ad;
  font-size: 0.7rem;
  font-weight: 700;
  margin: 0;
}

.edi-sales-help-hero {
  align-items: end;
  display: grid;
  gap: clamp(2rem, 4vw, 4rem);
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.edi-sales-help-hero-copy {
  grid-column: 1 / span 8;
}

.edi-sales-help-hero h1 {
  font-size: clamp(3.75rem, 8.4vw, 7.75rem);
  font-weight: 410;
  line-height: 0.88;
  margin: 1rem 0 0;
  max-width: 8.5ch;
}

.edi-sales-help-hero-copy > p:not(.edi-sales-help-kicker) {
  color: var(--edi-standalone-copy);
  font-size: clamp(1rem, 1.7vw, 1.4rem);
  line-height: 1.5;
  margin: 1.75rem 0 0;
  max-width: 39rem;
}

.edi-sales-help-hero-action {
  align-items: start;
  display: grid;
  gap: 0.9rem;
  grid-column: 10 / -1;
}

.edi-sales-help-hero-action .edi-standalone-button {
  justify-self: start;
}

.edi-sales-help-hero-action p {
  color: var(--edi-standalone-muted);
  font-size: 0.82rem;
  line-height: 1.5;
  margin: 0;
  max-width: 18rem;
}

.edi-sales-help-index {
  border-bottom: 1px solid var(--edi-standalone-rule);
  border-top: 1px solid var(--edi-standalone-rule);
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.edi-sales-help-index a {
  align-items: center;
  display: flex;
  font-size: 0.84rem;
  font-weight: 700;
  gap: 0.85rem;
  min-height: 4.5rem;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  transition: color var(--dur-hover) var(--ease-out);
}

.edi-sales-help-index a + a {
  border-left: 1px solid var(--edi-standalone-rule);
}

.edi-sales-help-index a:hover,
.edi-sales-help-index a:focus-visible {
  color: #0878ad;
}

.edi-sales-help-index a:focus-visible {
  outline: 0.2rem solid rgb(12 158 223 / 22%);
  outline-offset: -0.2rem;
}

.edi-sales-help-index span {
  color: var(--edi-standalone-muted);
  font-size: 0.68rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.08em;
}

.edi-sales-help-feature {
  background: #0a202d;
  border-radius: 0.75rem;
  color: white;
  display: grid;
  gap: clamp(2rem, 4vw, 4rem);
  grid-template-columns: minmax(18rem, 0.78fr) minmax(0, 1.5fr);
  overflow: hidden;
  padding: clamp(1.25rem, 2vw, 2rem);
}

.edi-sales-help-workflow {
  align-self: center;
  background: #051119;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 0.5rem;
  overflow: hidden;
}

.edi-sales-help-workflow ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.edi-sales-help-workflow li {
  display: grid;
  gap: 0.45rem 1rem;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  margin: 0;
  min-height: 7rem;
  padding: 1.4rem 1.5rem;
}

.edi-sales-help-workflow li + li {
  border-top: 1px solid rgb(255 255 255 / 10%);
}

.edi-sales-help-workflow li > span {
  color: #52c6f7;
  font-size: 0.68rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding-top: 0.2rem;
}

.edi-sales-help-workflow strong {
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-weight: 620;
}

.edi-sales-help-workflow p {
  color: rgb(255 255 255 / 62%);
  grid-column: 2;
  line-height: 1.5;
  margin: 0;
}

.edi-sales-help-feature-copy {
  align-content: center;
  display: grid;
  padding: clamp(1rem, 3vw, 2.75rem) clamp(0.25rem, 1vw, 1rem);
}

.edi-sales-help-feature-copy .edi-sales-help-kicker {
  color: #52c6f7;
}

.edi-sales-help-feature-copy h2,
.edi-sales-help-section-heading h2,
.edi-sales-help-troubleshooting h2 {
  font-size: clamp(2rem, 3.8vw, 3.8rem);
  font-weight: 440;
  line-height: 1.02;
  margin: 0.85rem 0 0;
}

.edi-sales-help-feature-copy h2 {
  max-width: 12ch;
}

.edi-sales-help-feature-copy > p:not(.edi-sales-help-kicker) {
  color: rgb(255 255 255 / 72%);
  line-height: 1.65;
  margin: 1.5rem 0 0;
}

.edi-sales-help-actions {
  border-top: 1px solid rgb(255 255 255 / 15%);
  display: grid;
  margin-top: 2.25rem;
}

.edi-sales-help-actions a {
  align-items: center;
  border-bottom: 1px solid rgb(255 255 255 / 15%);
  display: grid;
  font-size: 0.8rem;
  font-weight: 750;
  gap: 0.8rem;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  min-height: 3.5rem;
  text-decoration: none;
  transition: color var(--dur-hover) var(--ease-out);
}

.edi-sales-help-actions a:hover,
.edi-sales-help-actions a:focus-visible {
  color: #70d2fa;
}

.edi-sales-help-actions a:focus-visible {
  outline: 0.2rem solid rgb(82 198 247 / 32%);
  outline-offset: 0.15rem;
}

.edi-sales-help-actions a span {
  color: #52c6f7;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
}

.edi-sales-help-media,
.edi-sales-help-situations {
  display: grid;
  gap: 2rem;
}

.edi-sales-help-section-heading {
  align-items: end;
  display: flex;
  gap: 3rem;
  justify-content: space-between;
}

.edi-sales-help-section-heading h2 {
  max-width: 14ch;
}

.edi-sales-help-section-heading > div > p:not(.edi-sales-help-kicker) {
  color: var(--edi-standalone-muted);
  line-height: 1.6;
  margin: 1.25rem 0 0;
  max-width: 42rem;
}

.edi-sales-help-search {
  display: grid;
  gap: 0.5rem;
  min-width: min(100%, 23rem);
}

.edi-sales-help-search span {
  color: var(--edi-standalone-muted);
  font-size: 0.75rem;
  font-weight: 750;
}

.edi-sales-help-search input {
  background: var(--edi-standalone-control);
  border: 1px solid transparent;
  border-radius: var(--edi-standalone-card-radius);
  min-height: 3.25rem;
  padding: 0 1rem;
}

.edi-sales-help-search input:focus-visible {
  border-color: #0c9edf;
  outline: 0.2rem solid rgb(12 158 223 / 20%);
}

.edi-sales-help-media-layout {
  align-items: start;
  display: grid;
  gap: clamp(1.5rem, 3vw, 3rem);
  grid-template-columns: minmax(0, 1.65fr) minmax(18rem, 0.7fr);
}

.edi-sales-help-player {
  min-width: 0;
}

.edi-sales-help-player-frame {
  aspect-ratio: 16 / 9;
  background: #051119;
  border-radius: 0.75rem;
  box-shadow: 0 1.5rem 4rem rgb(10 32 45 / 13%);
  overflow: hidden;
}

.edi-sales-help-player-frame video {
  background: #051119;
  display: block;
  height: 100%;
  width: 100%;
}

.edi-sales-help-now-playing {
  align-items: center;
  border-bottom: 1px solid var(--edi-standalone-rule);
  display: grid;
  gap: 0.35rem 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1.15rem 0;
}

.edi-sales-help-now-playing > span {
  color: #0878ad;
  font-size: 0.65rem;
  font-weight: 700;
}

.edi-sales-help-now-playing strong {
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  font-weight: 610;
  grid-column: 1;
}

.edi-sales-help-now-playing button {
  align-items: center;
  align-self: stretch;
  background: none;
  border: 0;
  cursor: pointer;
  display: flex;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 760;
  gap: 0.75rem;
  grid-column: 2;
  grid-row: 1 / span 2;
  min-height: 2.75rem;
  padding: 0.25rem 0;
}

.edi-sales-help-now-playing button span {
  color: var(--edi-standalone-muted);
  font-variant-numeric: tabular-nums;
}

.edi-sales-help-now-playing button:hover,
.edi-sales-help-now-playing button:focus-visible {
  color: #0878ad;
}

.edi-sales-help-now-playing button:focus-visible {
  outline: 0.2rem solid rgb(12 158 223 / 22%);
  outline-offset: 0.2rem;
}

.edi-sales-help-video-status {
  color: #9a3412;
  font-size: 0.8rem;
  line-height: 1.5;
  margin: 0.75rem 0 0;
  min-height: 1.2em;
}

.edi-sales-help-chapters {
  align-self: stretch;
  border-top: 1px solid var(--edi-standalone-rule);
  list-style: none;
  margin: 0;
  padding: 0;
}

.edi-sales-help-chapter {
  border-bottom: 1px solid var(--edi-standalone-rule);
}

.edi-sales-help-chapter button {
  align-items: start;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: grid;
  gap: clamp(1rem, 3vw, 2.5rem);
  grid-template-columns: 2.5rem minmax(0, 1fr);
  min-height: 6.5rem;
  padding: 1rem;
  text-align: left;
  width: 100%;
}

.edi-sales-help-chapter button:hover,
.edi-sales-help-chapter button:focus-visible,
.edi-sales-help-chapter button[aria-pressed="true"] {
  background: #edf7fb;
}

.edi-sales-help-chapter button:focus-visible {
  outline: 0.2rem solid rgb(12 158 223 / 22%);
  outline-offset: -0.2rem;
}

.edi-sales-help-chapter button[aria-pressed="true"] {
  box-shadow: inset 0.2rem 0 #0878ad;
}

.edi-sales-help-chapter-number {
  color: var(--edi-standalone-muted);
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

.edi-sales-help-chapter-copy {
  display: grid;
  gap: 0.45rem;
}

.edi-sales-help-chapter-copy > span:first-child {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.edi-sales-help-chapter-copy strong {
  font-size: clamp(1rem, 1.5vw, 1.22rem);
  font-weight: 650;
}

.edi-sales-help-chapter-copy small {
  color: var(--edi-standalone-muted);
  font-size: 0.68rem;
  font-variant-numeric: tabular-nums;
}

.edi-sales-help-chapter-copy > span:last-child {
  color: var(--edi-standalone-muted);
  font-size: 0.84rem;
  line-height: 1.5;
}

.edi-sales-help-empty {
  color: var(--edi-standalone-muted);
  margin: 0;
  padding: 1.5rem 0;
}

.edi-sales-help-transcript {
  border-bottom: 1px solid var(--edi-standalone-rule);
  border-top: 1px solid var(--edi-standalone-rule);
  margin-top: calc(clamp(5rem, 9vw, 8.5rem) * -0.45);
}

.edi-sales-help-transcript summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  list-style: none;
  min-height: 8rem;
  padding: 1.5rem 0;
}

.edi-sales-help-transcript summary::-webkit-details-marker {
  display: none;
}

.edi-sales-help-transcript summary > span:first-child {
  display: grid;
  gap: 0.45rem;
}

.edi-sales-help-transcript summary strong {
  font-size: clamp(1.4rem, 2.4vw, 2.25rem);
  font-weight: 560;
}

.edi-sales-help-transcript summary > span:last-child {
  color: #0878ad;
  font-size: 0.75rem;
  font-weight: 700;
}

.edi-sales-help-transcript details[open] summary > span:last-child {
  font-size: 0;
}

.edi-sales-help-transcript details[open] summary > span:last-child::after {
  content: "Close";
  font-size: 0.75rem;
}

.edi-sales-help-transcript pre {
  color: var(--edi-standalone-copy);
  font: inherit;
  line-height: 1.75;
  margin: 0;
  max-height: 34rem;
  overflow: auto;
  padding: 0 0 3rem;
  white-space: pre-wrap;
}

.edi-sales-help-situation-list {
  border-top: 1px solid var(--edi-standalone-rule);
}

.edi-sales-help-situation-list article {
  align-items: start;
  border-bottom: 1px solid var(--edi-standalone-rule);
  display: grid;
  gap: clamp(1rem, 3vw, 3rem);
  grid-template-columns: 2.5rem minmax(16rem, 0.9fr) minmax(18rem, 1.1fr);
  padding: clamp(1.75rem, 3vw, 2.75rem) 0;
}

.edi-sales-help-situation-list div > span {
  color: #0878ad;
  font-size: 0.72rem;
  font-weight: 700;
}

.edi-sales-help-situation-number {
  color: var(--edi-standalone-muted);
  font-size: 0.68rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding-top: 0.2rem;
}

.edi-sales-help-situation-list h3 {
  font-size: clamp(1.35rem, 2.2vw, 2.1rem);
  font-weight: 520;
  line-height: 1.08;
  margin: 0.85rem 0 0;
}

.edi-sales-help-situation-list p {
  color: var(--edi-standalone-muted);
  line-height: 1.6;
  margin: 0;
  max-width: 40rem;
}

.edi-sales-help-troubleshooting {
  align-items: start;
  background: #edf7fb;
  border-radius: 0.75rem;
  display: grid;
  gap: clamp(2rem, 7vw, 7rem);
  grid-template-columns: minmax(15rem, 0.75fr) minmax(0, 1.25fr);
  padding: clamp(2rem, 5vw, 5rem);
}

.edi-sales-help-troubleshooting dl {
  margin: 0;
}

.edi-sales-help-troubleshooting dl > div {
  border-bottom: 1px solid rgb(17 19 21 / 14%);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(10rem, 0.85fr) minmax(0, 1.15fr);
  padding: 1.2rem 0;
}

.edi-sales-help-troubleshooting dt {
  font-weight: 750;
}

.edi-sales-help-troubleshooting dd {
  color: var(--edi-standalone-copy);
  line-height: 1.5;
  margin: 0;
}

@media (max-width: 61.8125rem) {
  .edi-sales-help-hero-copy {
    grid-column: 1 / span 8;
  }

  .edi-sales-help-hero-action {
    grid-column: 9 / -1;
  }

  .edi-sales-help-feature {
    grid-template-columns: minmax(0, 1fr);
  }

  .edi-sales-help-media-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .edi-sales-help-feature-copy h2 {
    max-width: 18ch;
  }

  .edi-sales-help-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .edi-sales-help-actions a + a {
    padding-left: 1.25rem;
  }

  .edi-sales-help-situation-list article {
    grid-template-columns: 2.5rem minmax(13rem, 0.85fr) minmax(14rem, 1.15fr);
  }

  .edi-sales-help-troubleshooting {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 46.8125rem) {
  .edi-standalone-page-sales-help .edi-standalone-main {
    padding: 2.5rem 1.25rem 4.5rem;
  }

  .edi-sales-help-shell {
    gap: 4rem;
  }

  .edi-sales-help-hero {
    gap: 2rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .edi-sales-help-hero-copy,
  .edi-sales-help-hero-action,
  .edi-sales-help-index {
    grid-column: 1;
  }

  .edi-sales-help-hero-action {
    align-items: stretch;
  }

  .edi-sales-help-hero-action .edi-standalone-button {
    justify-self: stretch;
  }

  .edi-sales-help-index {
    grid-template-columns: minmax(0, 1fr);
  }

  .edi-sales-help-index a + a {
    border-left: 0;
    border-top: 1px solid var(--edi-standalone-rule);
  }

  .edi-sales-help-section-heading {
    align-items: start;
    flex-direction: column;
  }

  .edi-sales-help-hero h1 {
    font-size: clamp(3.4rem, 19vw, 5.5rem);
  }

  .edi-sales-help-feature {
    margin-inline: -1.25rem;
    border-radius: 0;
    padding: 1.25rem;
  }

  .edi-sales-help-feature-copy {
    padding: 1rem 0.25rem;
  }

  .edi-sales-help-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .edi-sales-help-actions a + a {
    padding-left: 0;
  }

  .edi-sales-help-search {
    min-width: 100%;
  }

  .edi-sales-help-chapter button {
    gap: 0.75rem 1rem;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    min-height: 0;
    padding: 1.25rem 0.75rem;
  }

  .edi-sales-help-transcript {
    margin-top: -1rem;
  }

  .edi-sales-help-situation-list article {
    gap: 1rem;
    grid-template-columns: 2.25rem minmax(0, 1fr);
  }

  .edi-sales-help-situation-list p {
    grid-column: 2;
  }

  .edi-sales-help-troubleshooting {
    border-radius: 0;
    margin-inline: -1.25rem;
    padding: 2rem 1.25rem;
  }

  .edi-sales-help-troubleshooting dl > div {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .edi-sales-help-actions a,
  .edi-sales-help-index a {
    transition: none;
  }
}

@media (max-width: 46.8125rem) {
  .edi-product-grid {
    gap: 0.625rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .edi-product-card-size {
    font-size: 1.25rem;
  }

  .edi-standalone-compact-table tbody {
    grid-template-columns: minmax(0, 1fr);
  }

  .edi-standalone-compact-table tr {
    display: grid;
    grid-template-columns: minmax(7.5rem, 0.8fr) minmax(0, 1.2fr);
  }

  .edi-standalone-compact-table tr.edi-standalone-compact-identity {
    grid-template-columns: minmax(0, 1fr);
  }

  .edi-standalone-compact-table th {
    overflow-wrap: anywhere;
    white-space: normal;
    width: auto;
  }

  .edi-standalone-compact-table td {
    overflow-wrap: anywhere;
    width: auto;
  }

  .edi-standalone-compact-table td[colspan="3"],
  .edi-standalone-compact-table .edi-standalone-compact-identity td {
    grid-column: auto;
  }
}

/* Standalone storefront shell. Catalog data remains sourced from the
   workbook-backed snapshot. Colours come from tokens.css. */
body { background: var(--edi-standalone-paper); }
a { text-underline-offset: 0.2em; }
:focus-visible { outline-color: var(--edi-standalone-focus); }
::selection { background: color-mix(in srgb, var(--edi-standalone-accent) 30%, transparent); }

.edi-standalone-header {
  background: color-mix(in srgb, var(--edi-standalone-paper) 92%, transparent);
  backdrop-filter: saturate(1.4) blur(12px);
  border-bottom: 1px solid var(--edi-standalone-rule-soft);
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  min-height: 72px;
  padding: 0 max(var(--edi-standalone-gutter), calc((100% - var(--edi-standalone-container)) / 2 + var(--edi-standalone-gutter)));
  position: sticky;
  margin: 0;
  width: 100%;
}

/* The EDI body, not the SVG box, is centred (Laks 2026-09-23): the i-dot adds
   12.6% of the logo's height above the body, so the link rises by that much
   and its focus ring moves with the logo. 104 px wide renders 51 px high. */
.edi-standalone-brand { display: inline-flex; min-height: 44px; transform: translateY(-6px); width: 104px; }
.edi-standalone-logo { height: auto; width: 100%; }
.edi-logo-letters { fill: var(--edi-logo-letters); }

.edi-standalone-nav,
.edi-standalone-navigation-ready .edi-standalone-nav:not([data-open]) {
  align-items: center;
  background: transparent;
  border: 0;
  display: flex;
  gap: clamp(24px, 3vw, 44px);
  grid-column: auto;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.edi-standalone-nav a,
.edi-standalone-account-link {
  border: 0;
  color: var(--edi-standalone-copy);
  font-size: 15px;
  font-weight: 500;
  min-height: 44px;
  padding: 0;
  position: relative;
  text-decoration: none;
  transition: color var(--dur-hover) var(--ease-out);
}

.edi-standalone-nav a:hover,
.edi-standalone-account-link:hover,
.edi-standalone-nav a[aria-current="page"] { color: var(--edi-standalone-ink); }

/* The active page takes the logo's i-dot. */
.edi-standalone-nav a::after {
  background: var(--edi-standalone-accent);
  border-radius: 50%;
  bottom: 3px;
  content: "";
  height: 5px;
  left: calc(50% - 2.5px);
  opacity: 0;
  position: absolute;
  transform: scale(0.4);
  transition: opacity var(--dur-hover) var(--ease-out), transform var(--dur-menu-in) var(--ease-out);
  width: 5px;
}

.edi-standalone-nav a[aria-current="page"]::after { opacity: 1; transform: scale(1); }
.edi-standalone-nav a[aria-current="page"] { text-decoration: none; }

/* Header focus rings get room without moving anything: text links draw the
   ring on a ::before that reaches 10px past the words, so the link box stays
   the size of its text and never spills out of the nav or the 64px mobile
   rail (padding pulled back with a negative margin did, render-check
   2026-10-29). The raised logo (i-dot above
   the body) takes a bar under it instead of a ring, which the sticky
   header's top edge would clip or the dot would cut (render-check judge,
   2026-10-28). The bar is a border so forced-colors mode keeps it. */
.edi-standalone-nav a:focus-visible,
.edi-standalone-account-link:focus-visible { outline: none; }
.edi-standalone-nav a:focus-visible::before,
.edi-standalone-account-link:focus-visible::before { border-radius: 10px; content: ""; inset: 0 -10px; outline: 0.1875rem solid var(--edi-standalone-focus); pointer-events: none; position: absolute; }
.edi-standalone-brand { position: relative; }
.edi-standalone-brand:focus-visible { outline: none; }
.edi-standalone-brand:focus-visible::after { border-bottom: 3px solid var(--edi-standalone-focus); border-radius: 2px; bottom: -6px; content: ""; left: 2%; position: absolute; right: 10%; }

.edi-standalone-header-actions {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: flex-end;
  justify-self: end;
  min-width: 14.25rem;
}
.edi-standalone-search summary {
  align-items: center;
  border-radius: 50%;
  color: var(--edi-standalone-copy);
  cursor: pointer;
  display: flex;
  height: 38px;
  justify-content: center;
  list-style: none;
  width: 38px;
}
.edi-standalone-search summary:hover,
.edi-standalone-search[open] summary { background: var(--edi-standalone-control); color: var(--edi-standalone-ink); }
.edi-standalone-search summary::-webkit-details-marker { display: none; }
.edi-standalone-search summary svg { height: 20px; width: 20px; }
.edi-standalone-search-panel {
  background: var(--edi-standalone-paper);
  border-bottom: 1px solid var(--edi-standalone-rule);
  left: 50%;
  padding: 24px var(--edi-standalone-gutter);
  position: absolute;
  top: 100%;
  transform: translateX(-50%);
  width: 100vw; box-shadow: 0 0 0 100vmax rgb(2 8 14 / 0.32); clip-path: inset(0 -100vmax -100vmax -100vmax);
}
::placeholder { color: var(--edi-standalone-muted); opacity: 1; }
.edi-standalone-search:not([open]) .edi-standalone-search-panel { display: none; }
/* Open overlays dim the page below them; the clip keeps the header bar clear. */
.edi-standalone-search-panel form { align-items: center; display: flex; margin: 0 auto; max-width: 760px; position: relative; }
.edi-standalone-search-panel label { border: 0; clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; width: 1px; }
.edi-standalone-search-panel input { background: var(--edi-standalone-control); border: 1px solid transparent; border-radius: 8px; min-height: 56px; padding: 0 58px 0 22px; width: 100%; }
.edi-standalone-search-panel input:focus { border-color: var(--edi-standalone-focus); }
.edi-standalone-search-panel button { background: transparent; border: 0; border-radius: 50%; height: 44px; position: absolute; right: 7px; width: 44px; }
.edi-standalone-search-panel button svg { height: 20px; width: 20px; }

.edi-standalone-main { margin: 0 auto; max-width: var(--edi-standalone-container); padding: 0 var(--edi-standalone-gutter); }
.edi-standalone-page-home .edi-standalone-main { max-width: none; padding: 0; }

/* Controls take an 8px radius (DESIGN.md "Shapes"); the one dark primary button is a pill, after the logo's oval. */
.edi-standalone-button { border-radius: 8px; font-size: 15px; font-weight: 600; gap: 0.5rem; min-height: 48px; padding: 0 26px; }
.edi-standalone-button-primary { background: var(--edi-standalone-ink); border-radius: 999px; color: var(--edi-standalone-on-ink); }
.edi-standalone-button-primary:hover { background: var(--edi-standalone-link); border-color: var(--edi-standalone-link); color: var(--edi-standalone-on-ink); }
.edi-standalone-button-secondary { background: var(--edi-standalone-control); border-color: transparent; color: var(--edi-standalone-ink); }

h1, h2, h3 { font-weight: 600; letter-spacing: -0.02em; text-wrap: balance; }
p { text-wrap: pretty; }

/* Home: hero, the cup shelf, custom printing, then the wider range. */
.edi-home { padding-bottom: 24px; }
.edi-home-hero {
  align-items: center;
  display: grid;
  gap: clamp(28px, 5vw, 80px);
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  margin: 0 auto;
  max-width: var(--edi-standalone-container);
  padding: clamp(40px, 7vh, 88px) var(--edi-standalone-gutter) clamp(40px, 6vh, 72px);
}
.edi-home-copy { min-width: 0; }
.edi-home-copy h1 { font-size: var(--edi-h1-display); letter-spacing: -0.045em; margin: 0; max-width: 11ch; }
.edi-home-summary { color: var(--edi-standalone-copy); font-size: clamp(17px, 1.5vw, 21px); line-height: 1.5; margin: clamp(20px, 3vh, 28px) 0 0; max-width: 34ch; }
.edi-home-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: clamp(28px, 4vh, 40px); }
.edi-home-catalog-link { align-items: center; color: var(--edi-standalone-link); display: inline-flex; font-size: 15px; font-weight: 550; min-height: 44px; text-decoration: none; }
.edi-home-catalog-link:hover { text-decoration: underline; }
.edi-home-production { aspect-ratio: 4 / 5; border-radius: 14px; justify-self: end; margin: 0; max-width: 420px; overflow: hidden; position: relative; width: 100%; }
.edi-home-production-image { display: block; height: 100%; object-fit: cover; width: 100%; }
.edi-home-fullscreen-icon { align-items: center; background: rgb(255 255 255 / 88%); border: 0; border-radius: 50%; cursor: pointer; display: flex; height: 44px; justify-content: center; padding: 0; position: absolute; right: 10px; top: 10px; width: 44px; }
.edi-home-fullscreen-icon[hidden] { display: none; }
.edi-home-fullscreen-icon:focus-visible { outline: 3px solid var(--edi-standalone-focus); outline-offset: 3px; }
.edi-home-fullscreen-icon svg { height: 18px; width: 18px; }

/* The shelf shows the clear cups at true relative size on one white plate.
   Each photo is 1200 px square with the cup inside the box below (fractions of
   the frame); --rim is the rim diameter in mm. The frame crops the photo to
   that box and scales it so 1 mm of rim is --k wide. Re-measure a box if a
   cup photo is replaced. */
.edi-home-shelf { margin: 0 auto; max-width: var(--edi-standalone-container); padding: 0 var(--edi-standalone-gutter); }
.edi-home-shelf-head { align-items: baseline; display: flex; flex-wrap: wrap; gap: 4px 24px; justify-content: space-between; margin-bottom: 18px; }
.edi-home-shelf-head h2 { font-size: clamp(24px, 2.4vw, 32px); letter-spacing: -0.025em; line-height: 1.15; margin: 0; }
.edi-home-shelf-head p { color: var(--edi-standalone-muted); font-size: 15px; margin: 0; }
.edi-home-shelf-head a { color: var(--edi-standalone-link); }
.edi-home-shelf-list {
  --k: 1.2px;
  align-items: flex-end;
  background: var(--edi-standalone-plate);
  border: 1px solid var(--edi-standalone-rule-soft);
  border-radius: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 24px clamp(12px, 2vw, 28px);
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: clamp(28px, 4vw, 56px) clamp(16px, 3vw, 48px) clamp(20px, 3vw, 32px);
}
.edi-home-cup { border-radius: 10px; display: grid; gap: 2px; justify-items: center; padding: 6px; text-decoration: none; }
.edi-home-cup:focus-visible { outline-offset: 2px; }
.edi-home-cup-frame { height: calc(var(--rim) * var(--bh) / var(--bw) * var(--k)); margin-bottom: 12px; overflow: hidden; position: relative; transition: transform var(--dur-menu-in) var(--ease-out); transform-origin: 50% 100%; width: calc(var(--rim) * var(--k)); }
.edi-home-cup:hover .edi-home-cup-frame { transform: translateY(-4px); }
.edi-home-cup-frame img { height: auto; left: calc(var(--rim) / var(--bw) * var(--k) * var(--x0) * -1); max-width: none; position: absolute; top: calc(var(--rim) / var(--bw) * var(--k) * var(--y0) * -1); width: calc(var(--rim) / var(--bw) * var(--k)); }
.edi-home-cup-size { font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.edi-home-cup-rim { color: #5b6874; font-size: 12px; font-variant-numeric: tabular-nums; }
.edi-home-cup:hover .edi-home-cup-size { text-decoration: underline; }
.edi-home-cup[data-cup="02890"] { --rim: 92; --x0: 0.055; --y0: 0.119; --bw: 0.892; --bh: 0.763; }
.edi-home-cup[data-cup="02889"] { --rim: 78; --x0: 0.188; --y0: 0.055; --bw: 0.624; --bh: 0.892; }
.edi-home-cup[data-cup="02892"] { --rim: 92; --x0: 0.164; --y0: 0.054; --bw: 0.671; --bh: 0.888; }
.edi-home-cup[data-cup="02894"] { --rim: 98; --x0: 0.171; --y0: 0.054; --bw: 0.658; --bh: 0.893; }
.edi-home-cup[data-cup="02895"] { --rim: 98; --x0: 0.185; --y0: 0.054; --bw: 0.629; --bh: 0.893; }
.edi-home-cup[data-cup="02896"] { --rim: 98; --x0: 0.212; --y0: 0.052; --bw: 0.575; --bh: 0.895; }
.edi-home-cup[data-cup="02897"] { --rim: 107; --x0: 0.228; --y0: 0.055; --bw: 0.543; --bh: 0.893; }

.edi-home-customization { align-items: center; display: grid; gap: clamp(28px, 5vw, 80px); grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); margin: clamp(56px, 8vw, 112px) auto 0; max-width: var(--edi-standalone-container); padding: 0 var(--edi-standalone-gutter); text-align: left; }
.edi-home-customization-copy { min-width: 0; }
.edi-home-customization h2 { font-size: clamp(30px, 3.4vw, 48px); letter-spacing: -0.035em; line-height: 1.05; margin: 0; max-width: 14ch; }
.edi-home-customization p { color: var(--edi-standalone-copy); font-size: 17px; line-height: 1.5; margin: 18px 0 28px; max-width: 34ch; }
.edi-home-customization-media { aspect-ratio: 16 / 9; border-radius: 14px; justify-self: end; margin: 0; max-width: 680px; overflow: hidden; position: relative; width: 100%; }
.edi-home-customization-image { display: block; height: 100%; object-fit: cover; width: 100%; }

.edi-home-range { margin: clamp(56px, 8vw, 112px) auto 0; max-width: var(--edi-standalone-container); padding: 0 var(--edi-standalone-gutter); }
.edi-home-range h2 { font-size: 20px; letter-spacing: -0.015em; margin: 0 0 12px; }
.edi-home-range ul { display: grid; gap: 0 clamp(16px, 3vw, 40px); grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0 0 8px; padding: 0; }
.edi-home-range li a { align-items: center; border-top: 1px solid var(--edi-standalone-rule); display: flex; font-weight: 500; gap: 12px; justify-content: space-between; min-height: 56px; text-decoration: none; }
.edi-home-range li a:hover span:first-child { text-decoration: underline; }
.edi-home-range-count { color: var(--edi-standalone-muted); font-size: 14px; font-variant-numeric: tabular-nums; font-weight: 400; }

.edi-standalone-page-catalog .edi-standalone-main { max-width: var(--edi-standalone-container); padding: 40px var(--edi-standalone-gutter) 80px; }
.edi-standalone-catalog-row-actions .edi-standalone-sales-category-option { background: var(--edi-standalone-panel); border-radius: 999px; box-shadow: 0 0 0 1px var(--edi-standalone-rule); padding: 0 0.875rem; }

.edi-standalone-page-about .edi-standalone-main { max-width: 60rem; padding: 64px var(--edi-standalone-gutter) 88px; }
.edi-about-intro { margin-bottom: 56px; max-width: 44rem; }
.edi-about h1 { font-size: var(--edi-h1-page); letter-spacing: -0.04em; line-height: 1; margin: 0 0 24px; }
.edi-about-intro > p { margin: 0; }
.edi-about-media { margin: 0 0 56px; }
.edi-about-media-frame { aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; position: relative; }
.edi-about-media-video { display: block; height: 100%; object-fit: cover; width: 100%; }
.edi-about-media figcaption { color: var(--edi-standalone-copy); font-size: 14px; line-height: 1.5; margin-top: 12px; }
.edi-about-row { border-top: 1px solid var(--edi-standalone-rule); display: grid; gap: 12px 40px; grid-template-columns: 15rem minmax(0, 1fr); padding: 28px 0 32px; }
.edi-about h2 { font-size: 19px; letter-spacing: -0.015em; line-height: 1.3; margin: 0; }
.edi-about p, .edi-about dd { color: var(--edi-standalone-copy); line-height: 1.6; max-width: 62ch; }
.edi-about-row p { margin: 0 0 14px; }
.edi-about-row p:last-child { margin-bottom: 0; }
.edi-about-list { display: grid; gap: 18px; margin: 0; }
.edi-about-list dt { font-weight: 600; }
.edi-about-list dd { margin: 4px 0 0; }
.edi-about .edi-about-next { border-top: 1px solid var(--edi-standalone-rule); display: flex; max-width: none; flex-wrap: wrap; gap: 12px; margin: 0; padding-top: 32px; }

.edi-standalone-page-quote .edi-standalone-main { max-width: var(--edi-standalone-container); padding: 56px var(--edi-standalone-gutter) 72px; }
.edi-quote-layout { align-items: start; display: grid; gap: clamp(40px, 7vw, 96px); grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
.edi-quote-heading { position: sticky; top: 104px; }
.edi-quote-heading h1 { font-size: var(--edi-h1-page); letter-spacing: -0.045em; line-height: 1; margin: 0 0 18px; }
.edi-quote-heading p { color: var(--edi-standalone-copy); font-size: clamp(16px, 1.6vw, 19px); line-height: 1.5; margin: 0; max-width: 36ch; }
.edi-standalone-form { border: 0; padding: 0; }
.edi-standalone-form-grid { gap: 16px clamp(16px, 2.4vw, 24px); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.edi-standalone-form label { color: var(--edi-standalone-copy); font-size: 14px; font-weight: 500; gap: 6px; }
.edi-standalone-form input:not([type="radio"]),
.edi-standalone-form textarea { background: var(--edi-standalone-control); border: 1px solid transparent; border-radius: 10px; color: var(--edi-standalone-ink); font-size: 16px; min-height: 52px; padding: 12px 14px; transition: border-color var(--dur-hover) var(--ease-out); }
.edi-standalone-form input:not([type="radio"]):focus,
.edi-standalone-form textarea:focus { border-color: var(--edi-standalone-focus); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--edi-standalone-focus) 25%, transparent); }
.edi-standalone-form textarea { min-height: 150px; }
.edi-quote-product { border: 0; margin: 28px 0; padding: 0; }
.edi-quote-type { display: grid; gap: 10px; grid-column: 1 / -1; }
.edi-quote-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.edi-quote-chips[hidden] { display: none; }
.edi-quote-chips button { background: var(--edi-standalone-panel); border: 0; border-radius: 999px; box-shadow: 0 0 0 1px var(--edi-standalone-rule); color: var(--edi-standalone-copy); cursor: pointer; font: inherit; font-size: 14px; min-height: 36px; padding: 0 14px; transition: background-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out); }
.edi-quote-chips button:hover { color: var(--edi-standalone-ink); box-shadow: 0 0 0 1px var(--edi-standalone-muted); }
.edi-quote-chips button:active { transform: scale(0.97); }
.edi-quote-chips button[aria-pressed="true"] { background: var(--edi-standalone-ink); box-shadow: 0 0 0 1px var(--edi-standalone-ink); color: var(--edi-standalone-paper); }
.edi-quote-chips button:focus-visible { outline: 2px solid var(--edi-standalone-focus); outline-offset: 2px; }
.edi-quote-legend { align-items: center; padding: 0; display: flex; font-size: 15px; font-weight: 600; gap: 8px; margin: 0 0 12px; }
.edi-standalone-form > .edi-standalone-button { margin-top: 24px; width: 100%; }
.edi-standalone-form-note a,
.edi-standalone-form-alert a { color: var(--edi-standalone-link); }
.edi-standalone-form-alert { border-left-color: var(--edi-standalone-focus); border-radius: 0 10px 10px 0; }

.edi-standalone-footer {
  align-items: center;
  border-top: 1px solid var(--edi-standalone-rule-soft);
  display: grid;
  gap: 16px 24px;
  grid-template-columns: 1fr auto;
  margin: clamp(48px, 7vw, 96px) auto 0;
  padding: 28px var(--edi-standalone-gutter) 40px;
  width: min(var(--edi-standalone-container), 100%);
}
.edi-standalone-footer small { align-items: center; color: var(--edi-standalone-muted); column-gap: 20px; display: flex; flex-wrap: wrap; font-size: 14px; }
.edi-footer-legal { align-items: center; display: flex; flex-wrap: wrap; gap: 0.375rem; }
.edi-standalone-footer small a { align-items: center; color: var(--edi-standalone-copy); display: inline-flex; min-height: 44px; text-decoration: none; }
.edi-standalone-footer small a:hover { color: var(--edi-standalone-ink); text-decoration: underline; }
/* 44px boxes keep the icon links at the minimum tap target. */
.edi-standalone-footer-social { display: flex; gap: 4px; justify-self: end; }
.edi-standalone-footer-social a { align-items: center; border-radius: 50%; color: var(--edi-standalone-copy); display: flex; height: 44px; justify-content: center; transition: background-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out); width: 44px; }
.edi-standalone-footer-social a:hover { background: var(--edi-standalone-control); color: var(--edi-standalone-ink); }
.edi-standalone-footer-social svg { height: 18px; width: 18px; }
@media (max-width: 1100px) {
  .edi-standalone-sales-workspace-bar { grid-template-columns: minmax(0, 1fr) auto; }
  .edi-standalone-sales-selection,
  .edi-standalone-sales-primary-actions { justify-content: flex-start; }
  .edi-standalone-sales-prospect { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .edi-sales-freight-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .edi-standalone-sales-prospect .edi-standalone-button { justify-self: start; }
  .edi-sales-workbench { grid-template-columns: 1fr; }
  .edi-sales-category-panel { position: static; }
  .edi-sales-category-options { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 18rem; }
}

@media (max-width: 767px) {
  /* Phone form fields stay at >=16px so iOS Safari never zooms on focus. */
  .edi-standalone-sales-field input,
  .edi-standalone-sales-field textarea,
  .edi-standalone-listbox-trigger,
  .edi-sales-price-table,
  .edi-sales-price-input input { font-size: 1rem; }
  /* Primary Save/Preview/Download actions dock to the viewport bottom. */
  .edi-standalone-sales-primary-actions {
    background: var(--edi-standalone-panel);
    border-top: 1px solid var(--edi-standalone-rule);
    bottom: 0;
    left: 0;
    margin: 0;
    padding: 0.625rem 14px calc(0.625rem + env(safe-area-inset-bottom));
    position: fixed;
    right: 0;
    z-index: 30;
  }
  .edi-standalone-main:has(.edi-standalone-sales-primary-actions) { padding-bottom: calc(4.75rem + env(safe-area-inset-bottom)); }
  .edi-standalone-sales-feedback [data-sales-open-preview],
  .edi-standalone-sales-feedback [data-sales-login] { width: 100%; }
  .edi-standalone-sales-workspace-heading,
  .edi-standalone-sales-workspace-bar,
  .edi-standalone-sales-prospect { grid-template-columns: minmax(0, 1fr); }
  .edi-sales-customer-setup-addresses { grid-template-columns: minmax(0, 1fr); }
  .edi-sales-customer-setup-contact { grid-template-columns: minmax(0, 1fr); }
  .edi-sales-customer-setup-requests li { align-items: flex-start; flex-direction: column; padding-block: 0.75rem; }
  .edi-sales-customer-setup-request-state { width: 100%; }
  .edi-standalone-sales-workspace-heading { align-items: start; }
  .edi-standalone-sales-selection,
  .edi-standalone-sales-primary-actions { flex-wrap: wrap; }
  .edi-standalone-sales-primary-actions .edi-standalone-button { flex: 1 1 9rem; }
  .edi-standalone-sales-prospect .edi-standalone-button { justify-self: stretch; width: 100%; }
  .edi-sales-freight-fields { grid-template-columns: 1fr; }
  .edi-sales-freight-request .edi-standalone-button { justify-self: stretch; width: 100%; }
  .edi-sales-category-heading,
  .edi-sales-price-heading { align-items: flex-start; flex-direction: column; gap: 0.375rem; }
  .edi-sales-category-options { grid-template-columns: 1fr; }
  .edi-sales-inventory-freshness { align-items: flex-start; flex-direction: column; }
  .edi-sales-inventory-freshness span { text-align: left; }
  .edi-sales-price-table-scroll { border: 0; max-height: none; overflow: visible; }
  .edi-sales-price-table,
  .edi-sales-price-table[data-price-types] { border-collapse: separate; display: block; min-width: 0; }
  /* Visually hidden, not display:none, so header text stays in the
     accessibility tree behind the data-label card layout. */
  .edi-sales-price-table thead { border: 0; clip-path: inset(50%); display: block; height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
  .edi-sales-price-table tbody { display: grid; gap: 0.75rem; }
  .edi-sales-price-table tr { border: 1px solid var(--edi-standalone-rule); border-radius: var(--edi-standalone-card-radius); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; }
  .edi-sales-price-table th,
  .edi-sales-price-table td { align-items: center; border-bottom: 1px solid var(--edi-standalone-rule-soft); display: flex; justify-content: space-between; min-height: 3.25rem; padding: 0.75rem; text-align: right; white-space: normal; }
  .edi-sales-price-table th::before,
  .edi-sales-price-table td::before { color: var(--edi-standalone-muted); content: attr(data-label); font-size: 0.65rem; font-weight: 750; letter-spacing: 0.04em; margin-right: 0.75rem; text-transform: uppercase; }
  .edi-sales-price-table tbody th:nth-child(1) { align-items: flex-start; grid-column: 1 / -1; max-width: none; min-width: 0; width: auto; }
  .edi-sales-price-table tbody th::before { display: none; }
  .edi-sales-price-table td[data-label^="Adjusted"],
  .edi-sales-price-table td[data-label$="Margin"] { grid-column: 1 / -1; }
  .edi-sales-price-input { min-width: 0; width: auto; }
  .edi-sales-price-input input { width: 5.5rem; }
  .edi-sales-case-input { justify-items: end; width: auto; }
  .edi-sales-row-error { max-width: 8rem; }
  .edi-standalone-sales-category-option { justify-content: flex-start; }
}

@media (max-width: 1100px) {
  .edi-home-range ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1199px) {
  .edi-home-hero { grid-template-columns: minmax(0, 1fr) minmax(260px, 0.7fr); }
}

@media (max-width: 767px) {
  .edi-standalone-header { grid-template-columns: 4rem minmax(0, 1fr) 4rem; min-height: 60px; }
  .edi-standalone-menu-toggle,
  .edi-standalone-navigation-ready .edi-standalone-menu-toggle { border: 0; border-radius: 50%; display: inline-flex; grid-column: 1; grid-row: 1; height: 44px; margin-left: -10px; min-height: 44px; min-width: 44px; padding: 10px; }
  .edi-standalone-menu-toggle svg { height: 22px; width: 22px; }
  /* Centred on the EDI body: 84 px wide renders 41 px high; the ® sits right of it. */
  .edi-standalone-brand { grid-column: 2; grid-row: 1; justify-self: center; transform: translate(3px, -5px); width: 84px; }
  /* The ring sits inside the 44 px circle so the page edge never clips it. */
  .edi-standalone-menu-toggle,
  .edi-standalone-navigation-ready .edi-standalone-menu-toggle { justify-self: start; width: 44px; }
  .edi-standalone-menu-toggle:focus-visible { outline-offset: -3px; }
  .edi-standalone-header-actions { grid-column: 3; grid-row: 1; min-width: 4rem; width: 4rem; }
  .edi-standalone-header-actions .edi-standalone-account-link { display: inline-flex; justify-content: flex-end; min-width: 0; white-space: nowrap; }
  .edi-standalone-search { display: none; }
  .edi-standalone-nav,
  .edi-standalone-navigation-ready .edi-standalone-nav:not([data-open]) { background: var(--edi-standalone-paper); border-bottom: 1px solid var(--edi-standalone-rule); display: none; gap: 0; grid-area: auto; left: 0; right: 0; margin: 0; padding: 8px var(--edi-standalone-gutter) 18px; position: absolute; top: 100%; }
  .edi-standalone-nav[data-open] { align-items: stretch; box-shadow: 0 0 0 100vmax rgb(2 8 14 / 0.32); clip-path: inset(0 -100vmax -100vmax -100vmax); display: grid; justify-content: stretch; }
  .edi-standalone-nav a { border-top: 1px solid var(--edi-standalone-rule-soft); color: var(--edi-standalone-ink); font-size: 17px; min-height: 52px; }
  .edi-standalone-nav a::after { bottom: auto; left: auto; position: static; margin-left: 10px; }
  .edi-home-hero { gap: 28px; grid-template-columns: minmax(0, 1fr); padding: 28px var(--edi-standalone-gutter) 40px; }
  .edi-home-copy h1 { font-size: clamp(42px, 12vw, 56px); }
  .edi-home-summary { margin-top: 16px; }
  .edi-home-actions { gap: 4px 20px; margin-top: 24px; }
  .edi-home-production { aspect-ratio: 1; justify-self: stretch; max-width: none; }
  .edi-home-shelf-list { --k: 0.74px; gap: 16px 10px; }
  .edi-home-cup { padding: 4px 2px; }
  .edi-home-cup-frame { margin-bottom: 8px; }
  .edi-home-customization { gap: 24px; grid-template-columns: minmax(0, 1fr); margin-top: 56px; }
  .edi-home-customization h2 { font-size: 32px; }
  .edi-home-customization p { margin-bottom: 22px; }
  .edi-home-customization-media { justify-self: stretch; max-width: none; }
  .edi-home-range { margin-top: 56px; }
  .edi-home-range ul { grid-template-columns: minmax(0, 1fr); }
  .edi-standalone-page-catalog .edi-standalone-main { padding: 28px var(--edi-standalone-gutter) 56px; }
  .edi-standalone-page-about .edi-standalone-main,
  .edi-standalone-page-quote .edi-standalone-main { padding: 32px var(--edi-standalone-gutter) 56px; }
  .edi-about-intro { margin-bottom: 36px; }
  .edi-about-media { margin-bottom: 36px; }
  .edi-about-intro > p { font-size: 17px; }
  .edi-about-row { grid-template-columns: minmax(0, 1fr); padding: 22px 0 26px; }
  .edi-quote-layout { grid-template-columns: 1fr; gap: 28px; }
  .edi-quote-heading { position: static; }
  .edi-standalone-form-grid { grid-template-columns: 1fr; }
  .edi-standalone-footer { gap: 8px; grid-template-columns: 1fr; justify-items: start; padding: 24px var(--edi-standalone-gutter) 36px; text-align: left; }
  .edi-standalone-footer small { align-items: flex-start; flex-direction: column; }
  .edi-standalone-footer-social { justify-self: start; margin-left: -12px; }
}

.edi-breadcrumbs { color: var(--edi-standalone-muted); font-size: 13px; margin-bottom: 20px; padding-top: 20px; }
.edi-breadcrumbs ol { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.edi-breadcrumbs li:not(:last-child)::after { color: var(--edi-standalone-rule); content: "/"; margin-left: 8px; }
.edi-breadcrumbs a { text-decoration: none; }
.edi-breadcrumbs a:hover { color: var(--edi-standalone-ink); text-decoration: underline; }
.edi-public-item { align-items: start; display: grid; gap: clamp(34px, 6vw, 84px); grid-template-columns: minmax(280px, .85fr) minmax(320px, 1.15fr); }
.edi-public-item-media { display: grid; gap: 12px; }
.edi-public-item-media img { aspect-ratio: 1; background: var(--edi-standalone-plate); border: 1px solid var(--edi-standalone-rule-soft); border-radius: var(--edi-standalone-plate-radius); height: auto; object-fit: contain; padding: 6%; width: 100%; }
.edi-public-item-copy h1 { font-size: var(--edi-h1-item); letter-spacing: -0.035em; line-height: 1.05; margin: 8px 0 14px; }
.edi-public-item-copy > p { color: var(--edi-standalone-copy); }
.edi-public-item-code { font-size: 14px; font-variant-numeric: tabular-nums; }
.edi-public-item-code span { color: var(--edi-standalone-ink); }
.edi-public-item-copy .edi-standalone-compact-table { margin: 28px 0; }
.edi-public-item .edi-standalone-compact-identity { display: none; }
.edi-public-item-copy > .edi-public-item-note { color: var(--edi-standalone-muted); font-size: 14px; margin: 14px 0 0; }
/* The specs and quote action stay in view beside the tall photo column. */
@media (min-width: 48rem) { .edi-public-item-copy { position: sticky; top: 104px; } }
.edi-resource-links { border-top: 1px solid var(--edi-standalone-rule); margin-top: 64px; padding-top: 24px; }
.edi-resource-links h2 { font-size: 15px; letter-spacing: 0; }
.edi-resource-links ul { display: grid; gap: 4px 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 12px 0 0; padding: 0; }
.edi-resource-links a { align-items: center; color: var(--edi-standalone-copy); display: inline-flex; font-size: 15px; line-height: 1.4; min-height: 40px; text-decoration: none; }
.edi-resource-links a:hover { color: var(--edi-standalone-ink); text-decoration: underline; }
.edi-resource-article { margin: 0 auto; max-width: 720px; }
.edi-resource-article header { margin-bottom: 40px; }
.edi-resource-article h1 { font-size: var(--edi-h1-page); letter-spacing: -0.04em; line-height: 1.02; margin: 10px 0 20px; }
.edi-resource-article header > p:last-child { font-size: 19px; line-height: 1.55; }
.edi-resource-article section { border-top: 1px solid var(--edi-standalone-rule); padding: 28px 0; }
.edi-resource-article h2 { font-size: 22px; margin: 0 0 10px; }
.edi-resource-article p { color: var(--edi-standalone-copy); font-size: 17px; line-height: 1.65; margin: 0; }
.edi-resource-article p a { color: var(--edi-standalone-link); }
.edi-resource-article aside { background: var(--edi-standalone-control); border-radius: 14px; margin-top: 28px; padding: 28px; }
.edi-resource-article aside .edi-standalone-button { margin-top: 20px; }
.edi-legal-article a { align-items: center; display: inline-flex; min-height: 44px; }
.edi-stack-events-article { padding-top: 48px; }

@media (max-width: 767px) {
  .edi-public-item { grid-template-columns: 1fr; }
  .edi-resource-links ul { grid-template-columns: 1fr; }
}

.edi-compat { display: grid; gap: 2rem; margin: 2rem 0; }
.edi-compat-group h2 { margin-bottom: 0.75rem; }
.edi-compat-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; }
.edi-compat-columns > div { min-width: 0; border: 1px solid var(--edi-standalone-rule); border-radius: 0.625rem; padding: 1rem; }
.edi-compat-columns h3 { margin: 0 0 0.5rem; font-size: 1rem; }
.edi-compat-columns ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.edi-compat-columns a { text-decoration: none; overflow-wrap: anywhere; }
.edi-compat-columns a:hover .edi-compat-code, .edi-compat-columns a:focus-visible .edi-compat-code { text-decoration: underline; }
.edi-compat-code { font-weight: 600; font-variant-numeric: tabular-nums; }

/* Public catalog and form refinements. */
.edi-standalone-item-quote { align-items: center; border: 1px solid var(--edi-standalone-rule); border-radius: 8px; display: inline-flex; font-size: 14px; font-weight: 550; margin-top: 20px; min-height: 44px; padding: 0 18px; text-decoration: none; transition: border-color var(--dur-hover) var(--ease-out); }
.edi-standalone-item-quote:hover { border-color: var(--edi-standalone-ink); }
.edi-menu-close, [data-menu-toggle][aria-expanded="true"] .edi-menu-bars { display: none; }
[data-menu-toggle][aria-expanded="true"] .edi-menu-close { display: initial; }
.edi-standalone-not-found h1 { letter-spacing: -0.045em; }
.edi-standalone-page-heading-compact h1 { letter-spacing: -0.045em; }

/* Motion layer. Only transform and opacity move; colour changes on hover.
   Tokens live in tokens.css. Exits are shorter than entrances, and nothing
   is hidden unless motion.js has run and reduced motion is off. */
@view-transition {
  navigation: auto;
}

/* Cross-document page change: only <main> fades; header and footer stay in the
   frozen root snapshot. Browsers without support just swap pages. */
.edi-standalone-main {
  view-transition-name: route-content;
}

::view-transition-group(root),
::view-transition-old(root),
::view-transition-new(root),
::view-transition-group(route-content) {
  animation: none;
}

::view-transition-old(route-content) {
  animation: edi-vt-out var(--dur-page-out) var(--ease-in) both;
}

::view-transition-new(route-content) {
  animation: edi-vt-in var(--dur-page-in) var(--ease-out) 60ms both;
}

@keyframes edi-vt-out {
  to { opacity: 0; }
}

@keyframes edi-vt-in {
  from { opacity: 0; transform: translateY(8px); }
}

@keyframes edi-vt-fade {
  from { opacity: 0; }
}

/* Hover is colour only; press is a small scale. */
.edi-standalone-button,
.edi-standalone-catalog-cta {
  transition:
    background-color var(--dur-hover) var(--ease-out),
    border-color var(--dur-hover) var(--ease-out),
    color var(--dur-hover) var(--ease-out),
    transform var(--dur-press) var(--ease-out);
}

.edi-standalone-menu-toggle,
.edi-standalone-search summary,
.edi-standalone-search-panel button,
.edi-standalone-image-spotlight-close {
  transition: transform var(--dur-press) var(--ease-out);
}

.edi-standalone-button:active,
.edi-standalone-catalog-cta:active,
.edi-standalone-menu-toggle:active,
.edi-standalone-search summary:active,
.edi-standalone-search-panel button:active,
.edi-standalone-image-spotlight-close:active {
  transform: scale(0.97);
}

/* A large card shrinks less than a button does. */
.edi-standalone-catalog-card:active {
  transform: scale(0.985);
}

/* Mobile navigation stays mounted while it fades out. */
@media (max-width: 767px) {
  .edi-standalone-navigation-ready .edi-standalone-nav:not([data-open]) {
    display: grid;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-6px);
    transition:
      opacity var(--dur-menu-out) var(--ease-in),
      transform var(--dur-menu-out) var(--ease-in),
      visibility 0s linear var(--dur-menu-out);
    visibility: hidden;
  }

  .edi-standalone-navigation-ready .edi-standalone-nav[data-open] {
    opacity: 1;
    transform: none;
    transition:
      opacity var(--dur-menu-in) var(--ease-emph-out),
      transform var(--dur-menu-in) var(--ease-emph-out),
      visibility 0s linear 0s;
    visibility: visible;
  }
}

/* Search panel: motion.js holds [data-closing] until the exit ends. */
.edi-standalone-search[open] .edi-standalone-search-panel {
  animation: edi-panel-in var(--dur-menu-in) var(--ease-emph-out) both;
}

.edi-standalone-search[data-closing] .edi-standalone-search-panel {
  animation: edi-panel-out var(--dur-menu-out) var(--ease-in) both;
}

@keyframes edi-panel-in {
  from { opacity: 0; transform: translateX(-50%) translateY(-6px); }
}

@keyframes edi-panel-out {
  to { opacity: 0; }
}

/* Image dialog. */
.edi-standalone-image-spotlight[open] {
  animation: edi-dialog-in var(--dur-page-in) var(--ease-emph-out) both;
}

.edi-standalone-image-spotlight[open]::backdrop {
  animation: edi-fade-in var(--dur-page-in) var(--ease-out) both;
}

.edi-standalone-image-spotlight[data-closing] {
  animation: edi-fade-out var(--dur-menu-out) var(--ease-in) both;
}

.edi-standalone-image-spotlight[data-closing]::backdrop {
  animation: edi-fade-out var(--dur-menu-out) var(--ease-in) both;
}

@keyframes edi-dialog-in {
  from { opacity: 0; transform: scale(0.97); }
}

@keyframes edi-fade-in {
  from { opacity: 0; }
}

@keyframes edi-fade-out {
  to { opacity: 0; }
}

/* Reduced motion: no travel or scale; panels swap at once; the page change is
   a plain opacity fade. */
@media (prefers-reduced-motion: reduce) {
  .edi-standalone-button,
  .edi-standalone-catalog-cta,
  .edi-standalone-catalog-card,
  .edi-standalone-menu-toggle,
  .edi-standalone-search summary,
  .edi-standalone-search-panel button,
  .edi-standalone-image-spotlight-close {
    transition: none;
  }

  .edi-standalone-button:active,
  .edi-standalone-catalog-cta:active,
  .edi-standalone-catalog-card:active,
  .edi-standalone-menu-toggle:active,
  .edi-standalone-search summary:active,
  .edi-standalone-search-panel button:active,
  .edi-standalone-image-spotlight-close:active {
    transform: none;
  }

  .edi-standalone-search[open] .edi-standalone-search-panel,
  .edi-standalone-search[data-closing] .edi-standalone-search-panel,
  .edi-standalone-image-spotlight[open],
  .edi-standalone-image-spotlight[open]::backdrop,
  .edi-standalone-image-spotlight[data-closing],
  .edi-standalone-image-spotlight[data-closing]::backdrop {
    animation: none;
  }

  .edi-standalone-navigation-ready .edi-standalone-nav:not([data-open]),
  .edi-standalone-navigation-ready .edi-standalone-nav[data-open] {
    transform: none;
    transition: none;
  }

  ::view-transition-old(route-content) {
    animation-duration: 0.01ms;
  }

  ::view-transition-new(route-content) {
    animation-name: edi-vt-fade;
  }
}

/* Size filter on a category page (design board, round 2): a sticky row of
   pressed-state chips under the header that scrolls sideways on a phone.
   size-filter.js reveals it; without scripts it stays hidden.
   Chips switch state at once: fading fill and label together hides the
   label mid-press (headless walk, 2026-10-29). */
/* The paper band reaches the viewport edges by shadow, not margin, so the
   row never widens the page; min-width: 0 lets the chips scroll instead of
   stretching the column. */
.edi-size-chips { background: var(--edi-standalone-paper); box-shadow: 0 0 0 100vmax var(--edi-standalone-paper); clip-path: inset(0 -100vmax); margin: 0 0 0.75rem; min-width: 0; padding: 0.5rem 0 0.75rem; position: sticky; top: 72px; z-index: 2; }
.edi-size-chips[hidden] { display: none; }
.edi-size-chips-row { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.edi-size-chip { background: var(--edi-standalone-panel); border: 0; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--edi-standalone-rule); color: var(--edi-standalone-copy); cursor: pointer; flex: none; font: inherit; font-size: 14px; font-weight: 500; min-height: 36px; padding: 0 14px; white-space: nowrap; }
.edi-size-chip:hover { box-shadow: inset 0 0 0 1px var(--edi-standalone-muted); color: var(--edi-standalone-ink); }
.edi-size-chip:active { transform: scale(0.97); }
.edi-size-chip[aria-pressed="true"] { background: var(--edi-standalone-ink); box-shadow: inset 0 0 0 1px var(--edi-standalone-ink); color: var(--edi-standalone-paper); }
.edi-size-chip:focus-visible { outline: 2px solid var(--edi-standalone-focus); outline-offset: -4px; }
.edi-product-card[hidden] { display: none; }
@media (max-width: 767px) { .edi-size-chips { top: 60px; } }

/* Cups to lids: one white card after the grid that names the rims and links
   to the lid category. */
.edi-lids-card { align-items: center; background: var(--edi-standalone-panel); border: 1px solid var(--edi-standalone-rule-soft); border-radius: 14px; display: flex; gap: 14px; margin: 1.5rem 0 0; padding: 16px; }
.edi-lids-card-photo { flex: none; height: 64px; object-fit: contain; width: 64px; }
.edi-lids-card-copy { display: grid; gap: 4px; min-width: 0; }
.edi-lids-card h2 { font-size: 1rem; font-weight: 600; letter-spacing: 0; line-height: 1.3; margin: 0; }
.edi-lids-card p { color: var(--edi-standalone-copy); font-size: 0.875rem; line-height: 1.45; margin: 0; }
.edi-lids-card a { font-size: 0.875rem; font-weight: 600; min-height: 24px; }
