:root {
  --bg: #f6f2e9;
  --surface: #ffffff;
  --surface-soft: #f6f2e9;
  --line: #dedbd3;
  --line-strong: #c7c1b3;
  --ink: #0a0a09;
  --text-2: #514f4b;
  --text-3: #696762;
  --slate: #0a0a09;
  --cobalt: #0a0a09;
  --cobalt-deep: #000000;
  --cobalt-tint: #f6f2e9;
  --success: #3e6756;
  --success-tint: #edf3ee;
  --danger: #8f2f38;
  --on-dark: #ffffff;
  --on-dark-2: rgba(255, 255, 255, 0.72);
  --on-dark-3: rgba(255, 255, 255, 0.52);
  --gold: #a9884e;
  --gold-bright: #c9ae78;
  --gold-text: #7a6136;
  --shadow: 0 22px 60px rgba(24, 20, 12, 0.12);
  --r-sm: 0;
  --r-md: 0;
  --r-lg: 0;
}

.demo-banner {
  position: relative;
  z-index: 95;
  min-height: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 5px 20px;
  color: #191814;
  background: #e9dfc9;
  border-bottom: 1px solid rgba(96, 75, 37, 0.22);
  font-size: 10px;
  letter-spacing: 0.055em;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
}

.demo-banner strong {
  font-weight: 750;
}

.demo-banner strong::after {
  content: "";
  width: 3px;
  height: 3px;
  display: inline-block;
  margin-left: 10px;
  vertical-align: 2px;
  background: var(--gold);
  border-radius: 50%;
}

.demo-banner-short {
  display: none;
}

.site-header {
  top: 0;
}

.header-main {
  min-height: 76px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 32px;
  align-items: center;
}

.header-main .wordmark {
  justify-self: center;
}

.noli-wordmark {
  width: auto;
  height: 44px;
  display: block;
}

.primary-nav {
  gap: clamp(18px, 2vw, 32px);
}

.primary-nav-left {
  justify-self: start;
}

.primary-nav-right {
  justify-self: end;
}

.primary-nav a,
.primary-nav-right .utility-action {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.category-nav-wrap {
  background: #fff;
  border-top: 1px solid var(--line);
}

.category-nav {
  min-height: 43px;
  justify-content: center;
  gap: 34px;
  border-top: 0;
}

.category-nav a {
  font-size: 9px;
  font-weight: 580;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.utility-action {
  position: relative;
  appearance: none;
  min-width: 0;
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 0;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
}

.primary-nav-right .utility-action {
  min-height: 44px;
}

.primary-nav-right .utility-action svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}

.mobile-header-actions {
  display: none;
}

.mobile-header-actions .icon-button {
  color: var(--ink);
  background: transparent;
  border: 0;
  border-radius: 0;
}

.bag-count,
.cart-count {
  min-width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  background: var(--ink);
  border-radius: 50%;
  font-size: 9px;
  letter-spacing: 0;
}

[data-cart-count][hidden] {
  display: none !important;
}

.utility-cart .cart-count {
  top: -2px;
  right: -13px;
}

body:not([data-page="static-home"]) .page-hero {
  color: var(--ink);
  background: var(--cream);
  border-bottom: 1px solid var(--line);
}

body:not([data-page="static-home"]) .page-hero h1,
body:not([data-page="static-home"]) .product-title,
body:not([data-page="static-home"]) .section-head h2 {
  max-width: 16ch;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.035em;
}

body:not([data-page="static-home"]) .eyebrow {
  color: var(--gold-text);
}

body:not([data-page="static-home"]) main#main-content,
body:not([data-page="static-home"]) main [id],
body:not([data-page="static-home"]) main h1,
body:not([data-page="static-home"]) main h2 {
  scroll-margin-top: 96px;
}

body:not([data-page="static-home"]) .button-primary,
body:not([data-page="static-home"]) .pdp-add,
body:not([data-page="static-home"]) .mobile-cart-bar {
  color: #fff;
  background: var(--ink);
  border-color: var(--ink);
  border-radius: 0;
}

body:not([data-page="static-home"]) .button-secondary {
  color: var(--ink);
  background: #fff;
  border-color: var(--line-strong);
  border-radius: 0;
}

body:not([data-page="static-home"]) .product-card,
body:not([data-page="static-home"]) .bundle-card,
body:not([data-page="static-home"]) .education-card,
body:not([data-page="static-home"]) .value-card,
body:not([data-page="static-home"]) .detail-card,
body:not([data-page="static-home"]) .order-summary,
body:not([data-page="static-home"]) .checkout-main,
body:not([data-page="static-home"]) .testing-document {
  border-radius: 0;
  box-shadow: none;
}

body:not([data-page="static-home"]) .product-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(28, 24, 16, 0.07);
}

body:not([data-page="static-home"]) .product-image-wrap,
body:not([data-page="static-home"]) .pdp-media-main {
  background: var(--cream);
}

body:not([data-page="static-home"]) .product-price,
body:not([data-page="static-home"]) .summary-total strong:last-child {
  color: var(--ink);
}

/* One commerce card system is used by the homepage, catalog, recommendations,
   and collection filters. This intentionally wins over the older static-home
   card anatomy and the narrow horizontal-card experiment in store-base.css. */
.product-grid {
  gap: 18px;
}

.product-card {
  min-width: 0;
  display: flex;
  overflow: hidden;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms var(--ease);
}

.product-card:hover {
  border-color: var(--line-strong);
  box-shadow: 0 18px 42px rgba(28, 24, 16, 0.08);
  transform: translateY(-3px);
}

.product-image-wrap {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 4.25;
  background: var(--cream);
  border-right: 0;
  border-bottom: 1px solid var(--line);
}

.product-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 46%;
  filter: grayscale(1) contrast(1.015);
  transition: transform 650ms var(--ease);
}

.product-stock-overlay {
  --stock-color: #147a48;
  position: absolute;
  z-index: 3;
  right: 12px;
  bottom: 12px;
  min-height: 27px;
  padding: 6px 10px;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: var(--stock-color);
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(20, 122, 72, 0.22);
  border-radius: 8px;
  box-shadow: 0 7px 20px rgba(18, 22, 18, 0.08);
  font: 650 11px/1 var(--sans);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
}

.product-stock-overlay__dot {
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  background: #1a9b5c;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(26, 155, 92, 0.32);
  animation: noli-dispatch-pulse 1.9s ease-out infinite;
}

.product-stock-overlay:not(.is-in) {
  --stock-color: var(--text-2);
  border-color: var(--line-strong);
}

.product-stock-overlay:not(.is-in) .product-stock-overlay__dot {
  background: var(--text-3);
  animation: none;
}

body[data-page="product"] .pdp-main-image .product-stock-overlay {
  right: 16px;
  bottom: 16px;
  min-height: 31px;
  padding-inline: 12px;
  font-size: 11px;
}

.product-card:hover .product-image-wrap img {
  transform: scale(1.025);
}

.product-image-label {
  width: 42%;
}

.product-card-body {
  min-width: 0;
  display: flex;
  flex: 1 1 auto;
  padding: 20px;
  flex-direction: column;
}

.product-card .product-category {
  min-height: 18px;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 12px;
  color: var(--text-3);
  font: 650 9px/1.3 var(--sans);
  letter-spacing: 0.095em;
  text-transform: uppercase;
}

.product-card .product-category > span:first-child {
  min-width: 0;
}

.product-card .stock-badge {
  min-height: 0;
  flex: 0 0 auto;
  padding: 0;
  color: var(--success);
  background: transparent;
  border: 0;
  font: 650 8px/1.2 var(--sans);
  letter-spacing: 0.06em;
}

.product-card .stock-badge::before {
  width: 5px;
  height: 5px;
}

.product-card .stock-badge.is-low {
  color: var(--gold-text);
}

.product-card .product-name {
  margin: 0;
  font-size: 19px;
  font-weight: 640;
  letter-spacing: -0.035em;
  line-height: 1.18;
}

.product-card .product-name a {
  background-image: linear-gradient(var(--ink), var(--ink));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size 220ms var(--ease);
}

.product-card .product-name a:hover {
  background-size: 100% 1px;
}

.product-strength {
  margin: 7px 0 0;
  color: var(--text-3);
  font-size: 10px;
  font-weight: 570;
  letter-spacing: 0.025em;
}

.product-dispatch-status {
  min-width: 0;
  margin: 9px 0 0;
  display: flex;
  gap: 7px;
  align-items: center;
  overflow: hidden;
  color: #137a48;
  font: 650 10px/1.25 var(--sans);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-dispatch-status .pdp-dispatch-status__dot {
  width: 6px;
  height: 6px;
}

.product-card .product-description {
  min-height: 52px;
  display: -webkit-box;
  overflow: hidden;
  margin: 14px 0 17px;
  color: var(--text-2);
  font-size: 12px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.product-card .testing-micro {
  min-height: 42px;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
  color: var(--text-2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: 10px;
  line-height: 1.35;
}

.product-card .testing-micro-lot {
  min-width: 0;
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.product-card .testing-micro-lot .i-check {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
  color: var(--success);
}

.product-card .testing-micro a {
  min-height: 0;
  flex: 0 0 auto;
  color: var(--ink);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-transform: uppercase;
}

.product-card .product-buy-row {
  display: grid;
  margin-top: auto;
  padding-top: 18px;
  grid-template-columns: 1fr;
  gap: 13px;
  align-items: stretch;
}

.product-card .price {
  padding: 0;
  font: 570 22px/1 var(--sans);
  letter-spacing: -0.035em;
}

.add-button {
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  color: #fff;
  background: var(--ink);
  border: 1px solid var(--ink);
  border-radius: 0;
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.115em;
  text-transform: uppercase;
  transition:
    color 180ms ease,
    background 180ms ease,
    border-color 180ms ease,
    transform 120ms ease;
}

.add-button:hover {
  color: var(--ink);
  background: #fff;
  border-color: var(--ink);
}

.add-button:active {
  transform: translateY(1px);
}

.add-button.is-added {
  color: #fff;
  background: var(--success);
  border-color: var(--success);
}

.add-button.is-unavailable,
.add-button.is-unavailable:hover {
  color: var(--text-3);
  background: #efede8;
  border-color: var(--line);
}

body[data-page="static-home"] .hero {
  padding: 24px 0 18px;
}

body[data-page="static-home"] .hero-grid {
  min-height: 430px;
  padding: 0;
}

body[data-page="static-home"] .hero-copy {
  padding: clamp(42px, 5vw, 66px) clamp(38px, 5vw, 72px) 38px;
}

body[data-page="static-home"] .hero h1 {
  margin-top: 18px;
  font-size: clamp(48px, 4.5vw, 68px);
}

body[data-page="static-home"] .hero-lede {
  margin-top: 21px;
  font-size: 14px;
  line-height: 1.58;
}

body[data-page="static-home"] .hero-actions {
  margin-top: 25px;
}

body[data-page="static-home"] .hero-facts {
  padding-top: 28px;
}

body[data-page="static-home"] .proof-rail-grid > div {
  min-height: 82px;
  padding: 18px 22px;
}

body[data-page="static-home"] .section {
  padding: 82px 0;
}

body[data-page="static-home"] .products-section {
  padding-top: 68px;
}

.section-copy {
  max-width: 570px;
  margin-top: 16px;
  color: var(--text-2);
  font-size: 13px;
  line-height: 1.65;
}

.sets-section {
  background: var(--cream);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.featured-bundle-grid {
  gap: 18px;
}

.featured-bundle-grid .bundle-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
}

.featured-bundle-grid .bundle-body {
  padding: 24px;
}

.featured-bundle-grid .bundle-footer {
  grid-template-columns: 1fr;
  gap: 13px;
}

.featured-bundle-grid .bundle-footer .price {
  display: block;
  padding: 0;
  font: 570 22px/1 var(--sans);
  letter-spacing: -0.035em;
}

body[data-page="static-home"] .testing-image {
  min-height: 560px;
}

body[data-page="static-home"] .testing-copy {
  padding: 52px clamp(38px, 4.5vw, 66px);
}

body[data-page="static-home"] .testing-copy h2 {
  font-size: clamp(38px, 3.5vw, 52px);
}

body[data-page="static-home"] .testing-lede {
  margin-top: 18px;
}

body[data-page="static-home"] .coa-document {
  margin-top: 26px;
}

.commerce-confidence {
  background: var(--cream);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.confidence-heading {
  max-width: 740px;
  margin-bottom: 42px;
}

.confidence-heading h2 {
  margin-top: 13px;
  font-size: clamp(40px, 4vw, 58px);
  font-weight: 520;
  letter-spacing: -0.055em;
  line-height: 1.02;
}

.confidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
  border-left: 1px solid var(--line-strong);
}

.confidence-grid article {
  min-height: 270px;
  display: flex;
  padding: 30px;
  flex-direction: column;
  background: #fff;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.confidence-number {
  color: var(--gold-text);
  font-family: var(--serif);
  font-size: 20px;
  font-style: italic;
}

.confidence-grid h3 {
  margin-top: 30px;
  font-size: 21px;
  font-weight: 630;
  letter-spacing: -0.03em;
}

.confidence-grid p {
  margin-top: 12px;
  color: var(--text-2);
  font-size: 12px;
  line-height: 1.65;
}

.confidence-grid .text-link {
  width: max-content;
  margin-top: auto;
  padding-top: 28px;
}

body[data-page="static-home"] .journal-feature {
  min-height: 500px;
}

.cart-drawer,
.mobile-drawer {
  border-radius: 0;
}

.drawer-cross-add {
  min-height: 44px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line-strong);
}

.checkout-main input,
.checkout-main select,
.promo-form input {
  border-radius: 0;
}

.checkout-main input:focus,
.checkout-main select:focus,
.promo-form input:focus {
  border-color: var(--ink);
  box-shadow: 0 0 0 1px var(--ink);
}

.demo-payment-notice {
  color: var(--ink);
  background: var(--cream);
  border-color: var(--gold-light);
}

.demo-card-examples {
  display: flex;
  gap: 6px 22px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.demo-card-examples span {
  display: inline-flex;
  gap: 6px;
}

.sample-watermark {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  padding: 7px 10px;
  color: #4c3a1b;
  background: #eee3cc;
  border: 1px solid #d8c59f;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.sample-watermark::before {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--gold);
  border-radius: 50%;
}

.static-search-dialog {
  width: min(720px, calc(100vw - 32px));
  max-height: min(760px, calc(100dvh - 32px));
  padding: 0;
  overflow: visible;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line-dark);
  box-shadow: var(--shadow);
}

.static-search-dialog::backdrop {
  background: rgba(10, 10, 9, 0.52);
  backdrop-filter: blur(4px);
}

.static-search-head {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  border-bottom: 1px solid var(--line);
}

.static-search-head span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.static-search-head button {
  width: 44px;
  height: 44px;
  color: var(--ink);
  background: none;
  border: 0;
  cursor: pointer;
  font-size: 22px;
}

.static-search-body {
  min-height: 380px;
  padding: 28px;
}

.static-search-body .search-wrap {
  width: 100%;
}

.static-search-body .search-input {
  min-height: 54px;
  padding: 0 20px;
  background: #fff;
  border: 1px solid var(--line-dark);
  border-radius: 0;
}

.static-search-body .search-results {
  position: static;
  width: 100%;
  max-height: 420px;
  margin-top: 12px;
  overflow: auto;
  border: 1px solid var(--line);
  box-shadow: none;
}

.static-search-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 28px;
  background: var(--cream);
  border-top: 1px solid var(--line);
  font-size: 11px;
}

.static-search-footer a {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.account-order-list {
  display: grid;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.account-order {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  padding: 24px;
  background: #fff;
}

.account-order p,
.account-order span {
  color: var(--muted);
  font-size: 12px;
}

.account-order-meta {
  display: grid;
  gap: 12px;
  justify-items: end;
  align-content: center;
  text-align: right;
}

.account-order-meta > strong {
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 500;
}

.account-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 28px;
}

.demo-contact-form textarea {
  width: 100%;
  min-height: 132px;
  padding: 13px 14px;
  resize: vertical;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 0;
  font: inherit;
}

.demo-contact-form textarea:focus {
  border-color: var(--ink);
  outline: 1px solid var(--ink);
  outline-offset: 0;
}

.contact-success {
  padding: clamp(28px, 5vw, 54px);
  background: #fff;
  border: 1px solid var(--line);
}

.contact-success h3 {
  margin-bottom: 12px;
  font-family: var(--serif);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 500;
}

[data-payment-status],
[data-payment-error],
[data-order-error] {
  min-height: 1.4em;
}

.checkout-step[aria-busy="true"] {
  cursor: progress;
}

.site-footer {
  color: var(--ink);
  background: var(--cream, #f6f2e9);
}

.site-footer .wordmark,
.site-footer .footer-column h2,
.site-footer .footer-column a,
.site-footer .footer-brand p,
.site-footer .footer-bottom {
  color: var(--ink);
}

.site-footer .footer-brand p,
.site-footer .footer-bottom {
  color: var(--muted, #696762);
}

.site-footer .footer-column a:hover {
  color: var(--gold-text);
}

.site-footer .footer-bottom {
  border-color: var(--line-strong);
}

.site-footer .noli-wordmark {
  width: 225px;
  height: auto;
}

@media (max-width: 1120px) {
  .header-main {
    min-height: 72px;
    padding-top: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
  }

  .primary-nav {
    display: none;
  }

  .header-main .wordmark {
    justify-self: start;
  }

  .header-main .noli-wordmark {
    width: auto;
    height: 36px;
  }

  .mobile-header-actions {
    display: flex;
    gap: 2px;
    align-items: center;
    justify-self: end;
  }

  .mobile-menu-button {
    display: inline-grid;
  }

  .category-nav-wrap {
    display: block;
  }

  .category-nav {
    justify-content: flex-start;
  }

  .featured-product-grid,
  .featured-bundle-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .demo-banner {
    min-height: 26px;
    padding-inline: 12px;
    font-size: 8px;
  }

  .demo-banner span {
    max-width: 38ch;
  }

  .header-main {
    min-height: 64px;
    gap: 12px;
  }

  .category-nav {
    width: 100%;
    justify-content: flex-start;
    gap: 28px;
    padding: 0 52px 0 20px;
  }

  .category-nav-wrap {
    position: relative;
  }

  .category-nav-wrap::after {
    position: absolute;
    z-index: 2;
    top: 1px;
    right: 0;
    bottom: 0;
    width: 42px;
    content: "";
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), #fff 76%);
    pointer-events: none;
  }

  body[data-page="static-home"] .hero-grid,
  body[data-page="static-home"] .testing-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="static-home"] .hero-copy {
    min-height: 0;
    padding: 46px 38px 36px;
    border-right: 1px solid var(--line);
  }

  body[data-page="static-home"] .hero-visual {
    min-height: 320px;
  }

  body[data-page="static-home"] .testing-image {
    min-height: 360px;
  }

  body[data-page="static-home"] .testing-copy {
    padding: 46px 34px;
    border-top: 0;
    border-left: 1px solid var(--line);
  }

  .confidence-grid {
    grid-template-columns: 1fr;
  }

  .confidence-grid article {
    min-height: 230px;
  }

  .static-search-body {
    min-height: 300px;
    padding: 20px;
  }

  .static-search-footer {
    padding: 16px 20px;
  }
}

@media (max-width: 700px) {
  .product-grid,
  .featured-product-grid,
  .bundle-grid,
  .featured-bundle-grid {
    grid-template-columns: 1fr;
    row-gap: 18px;
  }

  .product-grid > .product-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  .product-grid > .product-card > .product-image-wrap {
    width: 100%;
    flex: none;
    aspect-ratio: 4 / 4.05;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .product-grid > .product-card > .product-card-body {
    padding: 20px;
  }

  .product-grid > .product-card .product-image-label {
    width: 42%;
  }

  .product-grid > .product-card .product-category {
    min-height: 18px;
    margin-bottom: 12px;
  }

  .product-grid > .product-card .product-description {
    min-height: 0;
    -webkit-line-clamp: 3;
  }

  .product-grid > .product-card .testing-micro {
    display: flex;
  }

  .product-grid > .product-card .testing-micro a {
    margin-top: 0;
  }

  .product-grid > .product-card .product-buy-row {
    grid-template-columns: 1fr;
  }

  .product-grid > .product-card .add-button {
    width: 100%;
    min-height: 50px;
    padding-inline: 16px;
  }

  body[data-page="static-home"] .section {
    padding: 64px 0;
  }

  body[data-page="static-home"] .products-section {
    padding-top: 58px;
  }

  body[data-page="static-home"] .section-heading {
    margin-bottom: 28px;
  }

  body[data-page="static-home"] .section-heading h2,
  .confidence-heading h2 {
    font-size: 39px;
  }

  body[data-page="static-home"] .proof-rail {
    overflow: hidden;
  }

  body[data-page="static-home"] .proof-rail-grid {
    width: calc(100vw - 20px);
    margin-left: 10px;
    padding: 0;
    overflow-x: auto;
    grid-template-columns: repeat(4, minmax(210px, 1fr));
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }

  body[data-page="static-home"] .proof-rail-grid::-webkit-scrollbar {
    display: none;
  }

  body[data-page="static-home"] .proof-rail-grid > div,
  body[data-page="static-home"] .proof-rail-grid > div:nth-child(3),
  body[data-page="static-home"] .proof-rail-grid > div:nth-child(4) {
    min-height: 78px;
    padding: 16px 18px;
    border-top: 0;
    border-left: 1px solid var(--line);
    scroll-snap-align: start;
  }

  body[data-page="static-home"] .proof-rail-grid > div:first-child {
    border-left: 0;
  }

  .confidence-heading {
    margin-bottom: 28px;
  }

  .confidence-grid article {
    min-height: 215px;
    padding: 26px;
  }
}

@media (max-width: 620px) {
  .demo-banner {
    min-height: 35px;
    display: grid;
    gap: 1px;
    padding: 5px 12px;
    white-space: normal;
  }

  .demo-banner-long {
    display: none;
  }

  .demo-banner-short {
    display: block;
    font-size: 7px;
    letter-spacing: 0.045em;
    line-height: 1.2;
  }

  .demo-banner strong::after {
    display: none;
  }

  .header-main {
    gap: 6px;
  }

  .header-main .noli-wordmark {
    width: auto;
    height: 36px;
  }

  .site-footer .noli-wordmark {
    width: 180px;
    height: auto;
  }

  .mobile-header-actions {
    gap: 0;
  }

  .mobile-header-actions .icon-button {
    width: 38px;
    height: 42px;
  }

  body[data-page="static-home"] .hero {
    padding: 10px 0 12px;
  }

  body[data-page="static-home"] .hero-copy {
    padding: 32px 20px 26px;
  }

  body[data-page="static-home"] .hero h1 {
    margin-top: 16px;
    font-size: 40px;
    line-height: 0.98;
  }

  body[data-page="static-home"] .hero-lede {
    margin-top: 18px;
    font-size: 12.5px;
  }

  body[data-page="static-home"] .hero-actions {
    margin-top: 22px;
    flex-direction: row;
    gap: 16px;
  }

  body[data-page="static-home"] .hero-actions .button {
    width: auto;
    gap: 12px;
    padding-inline: 16px;
    font-size: 9px;
  }

  body[data-page="static-home"] .hero-actions .text-link {
    align-self: center;
  }

  body[data-page="static-home"] .hero-facts {
    margin-top: 24px;
    padding-top: 18px;
  }

  body[data-page="static-home"] .hero-visual {
    min-height: 245px;
  }

  body[data-page="static-home"] .hero-record {
    right: 12px;
    bottom: 12px;
    width: calc(100% - 24px);
    padding: 15px;
  }

  body[data-page="static-home"] .testing-section {
    padding: 12px 0;
  }

  body[data-page="static-home"] .testing-grid {
    width: calc(100vw - 20px);
  }

  body[data-page="static-home"] .testing-image {
    min-height: 300px;
  }

  body[data-page="static-home"] .testing-copy {
    padding: 38px 22px 42px;
  }

  body[data-page="static-home"] .journal-feature {
    min-height: 390px;
  }

  .account-order {
    grid-template-columns: 1fr;
  }

  .account-order-meta {
    justify-items: start;
    text-align: left;
  }

  .static-search-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}

/* ==========================================================================
   Noli commerce refinement
   One quiet system for discovery, purchase, checkout, and receipt. The rules
   below intentionally override legacy card chrome without changing behavior.
   ========================================================================== */

.site-header {
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
}

.hero-record {
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
  transition: border-color 160ms ease-out;
}

.hero-record:hover {
  border-color: var(--gold);
  box-shadow: none;
  transform: none;
}

.journal-feature::after {
  background: rgba(9, 9, 8, 0.42);
}

.static-search-dialog::backdrop {
  backdrop-filter: none;
}

.mobile-menu nav {
  box-shadow: none;
}

.product-card,
.bundle-card,
.education-card,
.value-card,
.detail-card,
.order-summary,
.checkout-step,
.cart-drawer,
.mobile-drawer,
.static-search-dialog,
.search-results,
.toast {
  box-shadow: none;
}

.product-card:hover,
body:not([data-page="static-home"]) .product-card:hover {
  border-color: var(--line-strong);
  box-shadow: none;
  transform: none;
}

.product-card .product-name a {
  background-image: none;
  text-decoration: none;
}

.product-card .product-name a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.product-image-wrap img {
  transition: transform 420ms var(--ease);
}

.product-card:hover .product-image-wrap img {
  transform: scale(1.012);
}

.button,
.add-button,
.pdp-add,
.drawer-cross-add,
.checkout-cta {
  min-height: 48px;
  border-radius: 0;
  box-shadow: none;
  transform: none;
  transition:
    color 160ms ease-out,
    background-color 160ms ease-out,
    border-color 160ms ease-out,
    opacity 160ms ease-out;
}

.button:hover,
.button:active {
  transform: none;
}

.button-primary,
.button-dark,
.add-button,
.pdp-add {
  color: #fff;
  background: var(--ink);
  border-color: var(--ink);
}

.button-primary:hover,
.button-dark:hover,
.add-button:hover,
.pdp-add:hover {
  color: #fff;
  background: #000;
  border-color: #000;
}

.pdp-add.is-added {
  color: #fff;
  background: var(--success);
  border-color: var(--success);
}

/* Product discovery */

body[data-page="collection"] .page-hero {
  padding-block: 52px 44px;
}

body[data-page="collection"] .page-hero h1 {
  max-width: 15ch;
  font-size: clamp(44px, 5vw, 64px);
  line-height: 0.98;
}

body[data-page="collection"] .page-hero p:not(.eyebrow) {
  max-width: 660px;
  font-size: 15px;
  line-height: 1.62;
}

body[data-page="collection"] .section {
  padding-top: 44px;
}

body[data-page="collection"] .collection-layout {
  grid-template-columns: 216px minmax(0, 1fr);
  gap: 44px;
}

body[data-page="collection"] .collection-toolbar {
  margin-bottom: 12px;
}

body[data-page="collection"] .collection-search,
body[data-page="collection"] .collection-sort {
  min-height: 48px;
  border-radius: 0;
}

body[data-page="collection"] [data-collection-grid] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: 40px;
}

body[data-page="collection"] .product-card {
  overflow: visible;
  border: 0;
}

body[data-page="collection"] .product-image-wrap {
  border: 1px solid var(--line);
}

body[data-page="collection"] .product-card-body {
  padding: 16px 0 0;
}

body[data-page="collection"] .product-description {
  min-height: 40px;
  margin-block: 11px 13px;
  font-size: 13px;
  -webkit-line-clamp: 2;
}

body[data-page="collection"] .testing-micro {
  min-height: 40px;
}

body[data-page="collection"] .product-buy-row {
  padding-top: 14px;
}

/* PDP purchase hierarchy */

body[data-page="product"] .pdp-grid {
  grid-template-columns: minmax(0, 7fr) minmax(390px, 5fr);
  gap: clamp(44px, 5vw, 72px);
  padding-block: 32px 80px;
}

body[data-page="product"] .pdp-gallery {
  position: relative;
  top: auto;
}

body[data-page="product"] .pdp-buybox {
  position: sticky;
  top: 148px;
  align-self: start;
  padding-top: 8px;
}

body[data-page="product"] .pdp-main-image,
body[data-page="product"] .pdp-thumb {
  border-radius: 0;
}

body[data-page="product"] .pdp-thumbnails {
  grid-template-columns: repeat(3, 72px);
}

body[data-page="product"] .pdp-thumb {
  min-width: 72px;
  min-height: 72px;
}

body[data-page="product"] .pdp-thumb[aria-current="true"] {
  border-width: 2px;
  border-color: var(--ink);
}

body[data-page="product"] .pdp-testing-link {
  min-height: 52px;
  padding: 13px 16px;
  color: var(--ink);
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
}

body[data-page="product"] .pdp-testing-link:hover {
  color: var(--ink);
  border-color: var(--ink);
  box-shadow: none;
}

body[data-page="product"] .pdp-description {
  max-width: 54ch;
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.58;
}

body[data-page="product"] .pdp-price strong {
  color: var(--ink);
  font: 600 28px/1 var(--sans);
  letter-spacing: -0.035em;
}

.variant-options {
  margin: 0 0 20px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  border: 0;
}

.variant-options[data-variant-count="2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.variant-options[data-variant-count="3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.variant-options[data-variant-count="6"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.variant-option {
  min-height: 58px;
  padding: 10px 6px;
  display: grid;
  gap: 5px;
  place-content: center;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  font-family: var(--sans);
  text-align: center;
  cursor: pointer;
  transition:
    color 150ms ease-out,
    background-color 150ms ease-out,
    border-color 150ms ease-out;
}

.variant-option strong {
  font-size: 13px;
  line-height: 1;
}

.variant-option span {
  color: var(--text-3);
  font-size: 11px;
  line-height: 1;
}

.variant-option:hover,
.variant-option:focus-visible {
  border-color: var(--ink);
}

.variant-option[aria-pressed="true"] {
  color: #fff;
  background: var(--ink);
  border-color: var(--ink);
}

.variant-option[aria-pressed="true"] span {
  color: rgba(255, 255, 255, 0.72);
}

body[data-page="product"] .buy-controls {
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 12px;
}

body[data-page="product"] .quantity-control {
  height: 52px;
  grid-template-columns: 44px 44px 44px;
  border-radius: 8px;
}

body[data-page="product"] .quantity-control button,
body[data-page="product"] .quantity-control input {
  min-width: 44px;
  min-height: 50px;
}

body[data-page="product"] .pdp-add {
  height: 52px;
  border-radius: 8px;
}

body[data-page="product"] .buybox-cues {
  border-radius: 0;
}

body[data-page="product"] .pdp-note {
  font-size: 12px;
  line-height: 1.55;
}

.pdp-dispatch-status {
  --dispatch-green: #137a48;
  margin: 14px 0 2px;
  display: flex;
  gap: 9px;
  align-items: center;
  color: var(--dispatch-green);
  font: 650 12px/1.4 var(--sans);
}

.pdp-dispatch-status__dot {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  background: #1a9b5c;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(26, 155, 92, 0.32);
  animation: noli-dispatch-pulse 1.9s ease-out infinite;
}

@keyframes noli-dispatch-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(26, 155, 92, 0.32);
  }
  70% {
    box-shadow: 0 0 0 7px rgba(26, 155, 92, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(26, 155, 92, 0);
  }
}

.pdp-purchase-dock {
  position: fixed;
  z-index: 180;
  right: auto;
  bottom: 18px;
  left: 50%;
  width: min(920px, calc(100vw - 48px));
  min-height: 88px;
  padding: 10px;
  display: grid;
  grid-template-columns: minmax(190px, 0.65fr) minmax(320px, 1.35fr) minmax(208px, 238px);
  gap: 10px;
  align-items: center;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: 18px;
  box-shadow: 0 16px 42px rgba(15, 15, 14, 0.13);
  font-family: var(--sans);
  text-align: left;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, calc(100% + 32px));
  pointer-events: none;
  transition:
    opacity 170ms ease-out,
    transform 260ms var(--ease),
    visibility 0s 260ms;
}

.pdp-purchase-dock[data-visible="true"] {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  pointer-events: auto;
  transition:
    opacity 170ms ease-out,
    transform 260ms var(--ease),
    visibility 0s;
}

.pdp-purchase-dock__product {
  min-width: 0;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
}

.pdp-purchase-dock__product > img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  background: var(--bg);
  border-radius: 11px;
}

.pdp-purchase-dock__identity {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.pdp-purchase-dock__identity > strong {
  overflow: hidden;
  color: var(--ink);
  font: 650 16px/1.1 var(--sans);
  letter-spacing: -0.02em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdp-purchase-dock__identity > small,
.pdp-purchase-dock__stock {
  min-width: 0;
  display: flex;
  gap: 7px;
  align-items: center;
  overflow: hidden;
  color: #137a48;
  font: 650 11px/1.25 var(--sans);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdp-purchase-dock__variants {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(56px, 1fr));
  gap: 7px;
}

.pdp-purchase-dock__variants[data-variant-count="2"] {
  grid-template-columns: repeat(2, minmax(72px, 1fr));
}

.pdp-purchase-dock__variants[data-variant-count="3"] {
  grid-template-columns: repeat(3, minmax(68px, 1fr));
}

.pdp-purchase-dock__variants[data-variant-count="6"] {
  grid-template-columns: repeat(6, minmax(52px, 1fr));
}

.pdp-purchase-dock__variants.is-single {
  display: flex;
}

.pdp-purchase-dock__variant {
  min-width: 0;
  min-height: 54px;
  padding: 8px 7px;
  display: grid;
  place-items: center;
  color: var(--ink);
  background: var(--bg);
  border: 1px solid transparent;
  border-radius: 11px;
  font: 680 12px/1 var(--sans);
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition:
    color 150ms ease-out,
    background-color 150ms ease-out,
    border-color 150ms ease-out,
    transform 150ms ease-out;
}

.pdp-purchase-dock__variant:hover,
.pdp-purchase-dock__variant:focus-visible {
  border-color: var(--ink);
}

.pdp-purchase-dock__variant:active {
  transform: scale(0.98);
}

.pdp-purchase-dock__variant[aria-pressed="true"],
.pdp-purchase-dock__variant.is-selected {
  color: #fff;
  background: var(--ink);
  border-color: var(--ink);
}

.pdp-purchase-dock__variants.is-single .pdp-purchase-dock__variant {
  min-width: 110px;
}

.pdp-purchase-dock__action {
  min-height: 64px;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  color: #fff;
  background: var(--ink);
  border: 0;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-align: center;
  cursor: pointer;
  transition:
    background-color 160ms ease-out,
    transform 160ms ease-out;
}

.pdp-purchase-dock__action strong {
  min-height: 26px;
  padding-left: 16px;
  display: grid;
  align-items: center;
  color: #fff;
  border-left: 1px solid rgba(255, 255, 255, 0.34);
  font: 650 14px/1 var(--sans);
  letter-spacing: 0;
}

.pdp-purchase-dock__action:hover:not(:disabled) {
  background: #232320;
  transform: translateY(-1px);
}

.pdp-purchase-dock__action.is-added {
  background: #137a48;
}

.pdp-purchase-dock__action:disabled {
  cursor: not-allowed;
  opacity: 0.46;
  pointer-events: none;
}

body.drawer-open .pdp-purchase-dock,
body:has(.static-search-dialog[open]) .pdp-purchase-dock {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Cart and recommendation */

.drawer-backdrop {
  background: rgba(10, 10, 9, 0.42);
  transition: opacity 180ms ease-out;
}

.cart-drawer,
.mobile-drawer {
  width: min(440px, 100vw);
  border-radius: 0;
  box-shadow: none;
  transition: clip-path 300ms var(--ease);
}

.cart-drawer:not([data-open="true"]),
.mobile-drawer:not([data-open="true"]) {
  transition: clip-path 300ms var(--ease), visibility 0s 300ms;
}

.cart-drawer .cart-items:has(.cart-item) + .cart-footer::before {
  height: 1px;
  background: var(--line);
}

.drawer-head {
  min-height: 68px;
}

.drawer-close {
  min-width: 44px;
  min-height: 44px;
  border-radius: 0;
}

.cart-item img {
  border-radius: 0;
}

.detail-grid > *,
.testing-table,
.spec-table,
.testing-row,
.spec-row {
  min-width: 0;
}

.testing-row > *,
.spec-row > * {
  min-width: 0;
  overflow-wrap: anywhere;
}

.mini-quantity {
  height: 44px;
  grid-template-columns: repeat(3, 44px);
  border-radius: 0;
}

.mini-quantity button,
.mini-quantity span {
  min-width: 44px;
  min-height: 42px;
}

.cart-recommendation-region h3,
.cart-cross-sell .cart-recommendation-region h3 {
  margin-bottom: 12px;
  color: var(--text-3);
  font: 500 10px/1 var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.is-set-upgrade .cart-recommendation-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px 14px;
  padding: 16px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 0;
}

.cart-recommendation-image {
  width: 72px;
  height: 72px;
  object-fit: cover;
  background: #fff;
  border: 1px solid var(--line);
}

.cart-recommendation-copy {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 4px;
}

.cart-recommendation-name {
  font-size: 14px;
  line-height: 1.25;
}

.cart-recommendation-contents,
.cart-recommendation-value,
.cart-recommendation-effect {
  display: block;
  white-space: normal;
}

.cart-recommendation-contents {
  font: 400 10px/1.45 var(--mono);
}

.cart-recommendation-value {
  color: var(--ink);
  font: 600 12px/1.45 var(--sans);
}

.cart-recommendation-effect {
  color: var(--text-2);
  font-size: 11px;
  line-height: 1.4;
}

.cart-recommendation-action {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
}

.is-fallback .drawer-cross-row {
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
}

.is-fallback .drawer-cross-row > img {
  width: 64px;
  height: 64px;
}

.is-fallback .drawer-cross-add {
  grid-column: 1 / -1;
  width: 100%;
}

.cart-footer,
.cart-footer .cart-terminus {
  background: #fff;
}

.cart-footer .cart-terminus {
  color: var(--text-3);
}

.mobile-cart-bar {
  border-radius: 0;
  box-shadow: none;
}

/* Dedicated checkout */

body[data-page="checkout"] {
  color: var(--ink);
  background: #fff;
}

.checkout-header {
  position: sticky;
  z-index: 90;
  top: 0;
  color: var(--ink);
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.checkout-header__inner {
  min-height: 68px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 24px;
  align-items: center;
}

.checkout-header .wordmark {
  justify-self: center;
}

.checkout-header .noli-wordmark {
  width: auto;
  height: 38px;
}

.checkout-header__back,
.checkout-header__privacy {
  min-height: 44px;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.checkout-header__back {
  width: max-content;
}

.checkout-header__back svg {
  width: 15px;
  transform: rotate(180deg);
}

.checkout-header__privacy {
  justify-self: end;
  color: var(--text-2);
}

.checkout-header__privacy svg {
  width: 15px;
  height: 15px;
}

body[data-page="checkout"] .page-hero {
  padding-block: 32px 24px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

body[data-page="checkout"] .page-hero .eyebrow {
  margin-bottom: 8px;
}

body[data-page="checkout"] .page-hero h1 {
  max-width: none;
  font-family: var(--sans);
  font-size: 34px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.045em;
}

.stepper {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  flex-wrap: nowrap;
  margin: 26px 0 0;
}

.step {
  position: relative;
  min-width: 0;
  display: block;
  padding: 13px 10px 0 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.step::before {
  position: absolute;
  top: 0;
  right: 8px;
  left: 0;
  height: 2px;
  content: "";
  background: var(--line);
}

.step.is-current::before {
  background: var(--ink);
}

.step.is-done::before {
  background: var(--success);
}

.step-jump {
  width: 100%;
  min-height: 32px;
  display: flex !important;
  gap: 6px !important;
  white-space: nowrap;
}

.step-index {
  width: auto;
  height: auto;
  color: var(--text-3);
  background: transparent;
  border-radius: 0;
  font: 500 10px/1.3 var(--mono);
}

.step-label {
  overflow: hidden;
  color: var(--text-3);
  font-size: 11px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.step.is-current,
.step.is-done {
  border: 0;
}

.step.is-current .step-index,
.step.is-done .step-index {
  color: var(--ink);
  background: transparent;
}

.step.is-current .step-label,
.step.is-done .step-label {
  color: var(--ink);
}

body[data-page="checkout"] > #site-root > main > .section {
  padding-block: 32px 96px;
}

body[data-page="checkout"] .checkout-layout {
  grid-template-columns: minmax(0, 8fr) minmax(320px, 4fr);
  gap: clamp(40px, 5vw, 72px);
}

body[data-page="checkout"] .checkout-main {
  min-width: 0;
  padding: 0;
  background: transparent;
  border: 0;
}

body[data-page="checkout"] .checkout-step {
  padding: 0;
  background: transparent;
  border: 0;
}

body[data-page="checkout"] .checkout-step legend {
  gap: 10px;
  font-size: 22px;
  line-height: 1.2;
}

body[data-page="checkout"] .checkout-step legend span {
  width: auto;
  height: auto;
  color: var(--gold-text);
  background: transparent;
  border-radius: 0;
  font: 500 11px/1 var(--mono);
}

body[data-page="checkout"] .field-grid {
  margin-top: 28px;
  gap: 18px 16px;
}

body[data-page="checkout"] .field label {
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 600;
}

body[data-page="checkout"] .field input,
body[data-page="checkout"] .field select,
body[data-page="checkout"] .promo-input-row input {
  height: 52px;
  padding-inline: 14px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: 0;
  font-size: 16px;
  box-shadow: none;
}

body[data-page="checkout"] .field select {
  appearance: auto;
  background-image: none;
}

body[data-page="checkout"] .field input:focus,
body[data-page="checkout"] .field select:focus,
body[data-page="checkout"] .promo-input-row input:focus {
  border-color: var(--ink);
  outline: 2px solid var(--ink);
  outline-offset: 2px;
  box-shadow: none;
}

body[data-page="checkout"] .field-error {
  min-height: 18px;
  margin-top: 6px;
}

body[data-page="checkout"] .choice-group {
  gap: 0;
  border-top: 1px solid var(--line);
}

body[data-page="checkout"] .choice {
  min-height: 76px;
  margin-top: -1px;
  padding: 18px 16px;
  border-color: var(--line);
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

body[data-page="checkout"] .choice:has(input:checked) {
  background: var(--bg);
  border-color: var(--ink);
}

body[data-page="checkout"] .demo-payment-notice {
  margin-top: 28px;
  padding: 16px 0;
  background: transparent;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 0;
  border-radius: 0;
}

body[data-page="checkout"] .review-blocks {
  gap: 0;
  border-top: 1px solid var(--line);
}

body[data-page="checkout"] .review-block {
  padding: 18px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
}

body[data-page="checkout"] .step-actions {
  margin-top: 22px;
}

body[data-page="checkout"] .step-actions .button {
  min-height: 50px;
}

body[data-page="checkout"] .checkout-aside {
  position: sticky;
  top: 24px;
  align-self: start;
}

body[data-page="checkout"] .order-summary {
  padding: 24px;
  border-radius: 0;
}

body[data-page="checkout"] .promo-disclosure {
  border-radius: 0;
}

body[data-page="checkout"] .promo-disclosure .promo-form {
  border-radius: 0;
}

body[data-page="checkout"] .research-attestations {
  display: grid;
  gap: 10px;
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}

body[data-page="checkout"] .research-attestations .checkbox-row {
  min-height: 44px;
  margin: 0;
  padding: 10px 0;
}

body[data-page="checkout"] .research-attestations .checkbox-row input {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin-top: 0;
}

body[data-page="checkout"] .eligibility-approved {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  margin-top: 28px;
  padding: 18px 20px;
  background: var(--cream);
  border: 1px solid var(--gold-light);
}

body[data-page="checkout"] .eligibility-approved[hidden] {
  display: none;
}

body[data-page="checkout"] .eligibility-approved strong {
  display: block;
  font-size: 14px;
}

body[data-page="checkout"] .eligibility-approved p {
  margin: 5px 0 0;
  color: var(--text-2);
  font-size: 12px;
}

body[data-page="checkout"] .checkout-api-error {
  margin-top: 14px;
}

body[data-page="checkout"] .secure-checkout-button[aria-busy="true"] {
  cursor: progress;
  opacity: 0.75;
}

body[data-page="checkout"] .checkout-trust {
  display: grid;
  gap: 9px;
  justify-items: start;
  margin: 14px 0 0;
  padding: 0;
  color: var(--text-2);
  font-size: 11px;
  list-style: none;
}

body[data-page="checkout"] .checkout-trust li {
  display: inline-flex;
  gap: 7px;
  align-items: center;
}

body[data-page="checkout"] .checkout-trust svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  color: var(--gold-text);
}

body[data-page="checkout"] .turnstile-shell {
  min-height: 68px;
  margin-top: 20px;
}

body[data-page="checkout"] .turnstile-shell[hidden] {
  display: none;
}

body[data-page="checkout"] .turnstile-shell .field-note {
  margin-top: 8px;
}

.confirmation-loading {
  display: grid;
  gap: 8px;
  max-width: 720px;
  padding: clamp(28px, 5vw, 52px);
  background: #fff;
  border: 1px solid var(--line);
}

.confirmation-loading strong {
  font-family: var(--serif);
  font-size: clamp(24px, 4vw, 38px);
  font-weight: 500;
}

.confirmation-loading span {
  color: var(--text-2);
}

.confirmation-loading .button {
  width: max-content;
  margin-top: 14px;
}

body[data-page="checkout"] .assurance-row {
  grid-template-columns: 1fr;
  gap: 10px;
}

/* Receipt and supporting surfaces */

body[data-page="confirmation"] .confirmation-layout {
  grid-template-columns: minmax(0, 8fr) minmax(320px, 4fr);
  gap: clamp(40px, 5vw, 72px);
}

body[data-page="confirmation"] .tracker {
  position: relative;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 32px;
  padding-top: 17px;
  border-top: 1px solid var(--line-strong);
}

body[data-page="confirmation"] .tracker li {
  min-width: 0;
  padding: 0 20px 0 0;
}

body[data-page="confirmation"] .tracker li::before {
  display: none;
}

body[data-page="confirmation"] .tracker li span {
  top: -24px;
  width: 14px;
  height: 14px;
}

body[data-page="confirmation"] .confirmation-details {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--line);
}

body[data-page="confirmation"] .confirmation-details .detail-card,
body[data-page="confirmation"] .confirmation-details .detail-card:last-child {
  grid-column: auto;
  padding: 22px 24px 22px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
}

body[data-page="confirmation"] .confirmation-details .detail-card:nth-child(even) {
  padding-right: 0;
  padding-left: 24px;
  border-left: 1px solid var(--line);
}

body[data-page="confirmation"] .confirmation-details .detail-card:last-child {
  grid-column: 1 / -1;
  padding-left: 0;
  border-left: 0;
}

body[data-page="confirmation"] .order-summary {
  position: sticky;
  top: 24px;
  border-radius: 0;
}

/* Static-home refinement: preserve the hero, remove template-like chrome. */

body[data-page="static-home"] .hero-lede,
body[data-page="static-home"] .section-copy,
body[data-page="static-home"] .testing-lede {
  font-size: 15px;
  line-height: 1.62;
}

body[data-page="static-home"] .proof-rail-grid svg {
  display: none;
}

body[data-page="static-home"] .proof-rail-grid > div {
  padding-inline: 24px;
}

.confidence-ledger {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: transparent;
  border: 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.confidence-ledger article {
  min-height: 0;
  padding: 30px 30px 32px 0;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--line);
}

.confidence-ledger article + article {
  padding-left: 30px;
}

.confidence-ledger article:last-child {
  padding-right: 0;
  border-right: 0;
}

.confidence-ledger .confidence-number {
  color: var(--gold-text);
  font: 500 10px/1.2 var(--mono);
  font-style: normal;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.confidence-ledger h3 {
  margin-top: 24px;
}

.confidence-ledger .text-link {
  margin-top: 28px;
}

/* Supporting cards should read as editorial units, not floating widgets. */

body:not([data-page="static-home"]) .bundle-card,
body:not([data-page="static-home"]) .education-card,
body:not([data-page="static-home"]) .value-card {
  border-radius: 0;
  box-shadow: none;
}

.site-footer {
  box-shadow: none;
}

@media (max-width: 900px) {
  body[data-page="collection"] .filter-panel {
    -webkit-mask-image: none;
    mask-image: none;
  }

  body[data-page="cart"] .cart-cross-sell {
    order: 2;
  }

  body[data-page="cart"] .cart-aside {
    order: 1;
  }

  body[data-page="collection"] .collection-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  body[data-page="collection"] .filter-panel {
    position: static;
  }

  body[data-page="collection"] [data-collection-grid] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="product"] .pdp-grid,
  body[data-page="checkout"] .checkout-layout,
  body[data-page="confirmation"] .confirmation-layout {
    grid-template-columns: 1fr;
  }

  body[data-page="product"] .pdp-buybox,
  body[data-page="checkout"] .checkout-aside,
  body[data-page="confirmation"] .order-summary {
    position: static;
  }

  .pdp-purchase-dock {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 250px);
  }

  .pdp-purchase-dock__product {
    display: none;
  }

  body[data-page="checkout"] .checkout-mobile-summary { grid-row: 1; }
  body[data-page="checkout"] .checkout-main { grid-row: 2; }
  body[data-page="checkout"] .checkout-aside { grid-row: 3; }
}

@media (max-width: 700px) {
  body {
    font-size: 16px;
  }

  body[data-page="collection"] .page-hero {
    padding-block: 38px 32px;
  }

  body[data-page="collection"] .page-hero h1 {
    font-size: 40px;
  }

  body[data-page="collection"] .page-hero p:not(.eyebrow) {
    font-size: 16px;
  }

  body[data-page="collection"] .section {
    padding-top: 28px;
  }

  body[data-page="collection"] [data-collection-grid] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 12px;
  }

  body[data-page="collection"] .product-card-body {
    padding-top: 12px;
  }

  body[data-page="collection"] .product-category {
    display: none;
  }

  body[data-page="collection"] .product-name {
    font-size: 16px;
  }

  body[data-page="collection"] .product-strength {
    font-size: 11px;
  }

  body[data-page="collection"] .product-description {
    display: none;
  }

  body[data-page="collection"] .testing-micro {
    min-height: 52px;
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
    padding-block: 9px;
    font-size: 10px;
  }

  body[data-page="collection"] .testing-micro a {
    min-height: 24px;
    display: inline-flex;
    align-items: center;
  }

  body[data-page="collection"] .price {
    font-size: 19px;
  }

  body[data-page="collection"] .add-button {
    min-height: 46px;
    padding-inline: 8px;
    font-size: 10px;
    letter-spacing: 0.08em;
  }

  body[data-page="static-home"] .featured-product-grid,
  body[data-page="static-home"] .featured-bundle-grid {
    width: 100vw;
    margin-left: calc((100vw - 100%) / -2);
    padding-inline: 20px;
    display: grid;
    overflow-x: auto;
    grid-auto-columns: minmax(280px, 82vw);
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: 16px;
    scroll-padding-inline: 20px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  body[data-page="static-home"] .featured-product-grid::-webkit-scrollbar,
  body[data-page="static-home"] .featured-bundle-grid::-webkit-scrollbar {
    display: none;
  }

  body[data-page="static-home"] .featured-product-grid > *,
  body[data-page="static-home"] .featured-bundle-grid > * {
    scroll-snap-align: start;
  }

  .confidence-ledger {
    grid-template-columns: 1fr;
  }

  .confidence-ledger article,
  .confidence-ledger article + article,
  .confidence-ledger article:last-child {
    padding: 24px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .confidence-ledger article:last-child {
    border-bottom: 0;
  }

  .confidence-ledger h3 {
    margin-top: 14px;
  }

  .checkout-header__inner {
    min-height: 62px;
    grid-template-columns: 44px 1fr 44px;
    gap: 8px;
  }

  .checkout-header .noli-wordmark {
    height: 34px;
  }

  .checkout-header__back,
  .checkout-header__privacy {
    width: 44px;
    min-width: 44px;
    justify-content: center;
  }

  .checkout-header__back span,
  .checkout-header__privacy span {
    display: none;
  }

  body[data-page="checkout"] .page-hero {
    padding-block: 24px 18px;
  }

  body[data-page="checkout"] .page-hero .eyebrow {
    display: none;
  }

  body[data-page="checkout"] .page-hero h1 {
    font-size: 30px;
  }

  .stepper {
    margin-top: 22px;
  }

  .step {
    padding-right: 4px;
  }

  .step-jump {
    min-height: 36px;
    gap: 4px !important;
  }

  .step-index {
    display: none;
  }

  .step-label {
    font-size: 10px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  body[data-page="checkout"] > #site-root > main > .section {
    padding-block: 24px 72px;
  }

  body[data-page="checkout"] .checkout-mobile-summary { grid-row: 1; }
  body[data-page="checkout"] .checkout-main { grid-row: 2; }
  body[data-page="checkout"] .checkout-aside { grid-row: 3; }

  body[data-page="checkout"] .field-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px 12px;
  }

  body[data-page="checkout"] .field.is-full,
  body[data-page="checkout"] .field.is-half {
    grid-column: span 2;
  }

  body[data-page="checkout"] .field.is-quarter {
    grid-column: span 1;
  }

  body[data-page="checkout"] .step-actions {
    display: grid;
    grid-template-columns: auto 1fr;
  }

  body[data-page="checkout"] .step-actions .button-primary {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    margin: 0;
  }

  body[data-page="checkout"] .step-actions .button-secondary {
    min-height: 44px;
  }

  body[data-page="product"] .pdp-grid {
    gap: 26px;
  }

  body[data-page="product"] .pdp-buybox h1 {
    font-size: 38px;
  }

  body[data-page="product"] .pdp-description {
    font-size: 16px;
  }

  .variant-options,
  .variant-options[data-variant-count="2"],
  .variant-options[data-variant-count="3"],
  .variant-options[data-variant-count="5"],
  .variant-options[data-variant-count="6"] {
    margin-bottom: 20px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .variant-options[data-variant-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="product"] .pdp-related-grid {
    width: 100vw;
    margin-left: calc((100vw - 100%) / -2);
    padding-inline: 20px;
    display: grid;
    overflow-x: auto;
    grid-auto-columns: minmax(280px, 82vw);
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: 16px;
    scroll-padding-inline: 20px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  body[data-page="product"] .pdp-related-grid::-webkit-scrollbar {
    display: none;
  }

  body[data-page="product"] .pdp-related-grid > * {
    scroll-snap-align: start;
  }

  .pdp-purchase-dock {
    right: auto;
    bottom: 0;
    left: 50%;
    width: 100vw;
    min-height: 0;
    padding: 20px 20px max(18px, env(safe-area-inset-bottom));
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 18px 18px 0 0;
  }

  .pdp-purchase-dock__product {
    display: none;
  }

  .pdp-purchase-dock__product > img {
    display: none;
  }

  .pdp-purchase-dock__identity {
    gap: 6px;
  }

  .pdp-purchase-dock__identity > strong {
    font-size: 14px;
  }

  .pdp-purchase-dock__identity > small {
    font-size: 10px;
  }

  .pdp-purchase-dock__variants,
  .pdp-purchase-dock__variants[data-variant-count="2"],
  .pdp-purchase-dock__variants[data-variant-count="3"],
  .pdp-purchase-dock__variants[data-variant-count="5"],
  .pdp-purchase-dock__variants[data-variant-count="6"] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .pdp-purchase-dock__variants[data-variant-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pdp-purchase-dock__variant {
    min-height: 42px;
    padding-inline: 6px;
    border-radius: 9px;
    font-size: 11px;
  }

  .pdp-purchase-dock__action {
    min-height: 50px;
    padding-inline: 18px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    border-radius: 10px;
    font-size: 12px;
    line-height: 1.1;
  }

  .pdp-purchase-dock__action strong {
    min-height: 24px;
    padding-left: 14px;
    border-left: 1px solid rgba(255, 255, 255, 0.34);
    font-size: 13px;
  }

  .cart-item-controls {
    min-width: 0;
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 8px 10px;
    align-items: center;
  }

  .cart-item-unit {
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: right;
    white-space: normal;
  }

  .cart-item-controls .remove-item {
    grid-column: 2;
    justify-self: end;
    margin-left: 0;
  }

  .testing-row {
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  .testing-row strong,
  .testing-row .status-pill,
  .testing-row span:nth-child(2) {
    min-width: 0;
    grid-column: 1;
  }

  .testing-row strong {
    grid-row: 1;
  }

  .testing-row .status-pill {
    grid-row: 2;
    justify-self: start;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .testing-row span:nth-child(2) {
    grid-row: 3;
    overflow-wrap: anywhere;
  }

  body[data-page="confirmation"] .tracker {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 0 0 0 24px;
    border-top: 0;
    border-left: 1px solid var(--line-strong);
  }

  body[data-page="confirmation"] .tracker li {
    padding: 0;
  }

  body[data-page="confirmation"] .tracker li span {
    top: 2px;
    left: -31px;
  }

  body[data-page="confirmation"] .confirmation-details {
    grid-template-columns: 1fr;
  }

  body[data-page="confirmation"] .confirmation-details .detail-card,
  body[data-page="confirmation"] .confirmation-details .detail-card:nth-child(even),
  body[data-page="confirmation"] .confirmation-details .detail-card:last-child {
    grid-column: auto;
    padding: 20px 0;
    border-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-image-wrap img,
  .cart-drawer,
  .mobile-drawer,
  .mobile-cart-bar,
  .pdp-purchase-dock,
  .variant-option,
  .button,
  .add-button,
  .pdp-add,
  .drawer-cross-add,
  .checkout-cta {
    transition-duration: 0.01ms !important;
    transform: none !important;
  }

  .pdp-dispatch-status__dot,
  .product-stock-overlay__dot {
    animation: none !important;
  }

  .pdp-purchase-dock {
    transform: translate(-50%, 0) !important;
  }
}

/* Revision L physical-ink white-infinity controlled storefront media. The source
   photography contains its full 4:5 composition, floor contact, reflection,
   and cast shadow. Product and card surfaces receive one restrained optical
   crop; utility thumbnails retain the complete native framing. */
.controlled-product-picture,
.controlled-product-image,
.controlled-neutral-media {
  box-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  transform: none !important;
  transition: none !important;
}

.controlled-product-picture {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #fefefe;
}

.controlled-product-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
}

.product-card:hover .controlled-product-image {
  transform: none !important;
}

.controlled-product-picture--card .controlled-product-image,
.controlled-product-picture--recommendation .controlled-product-image,
.controlled-product-picture--related .controlled-product-image,
.controlled-product-picture--pdp .controlled-product-image,
.product-card:hover .controlled-product-picture--card .controlled-product-image,
.product-card:hover .controlled-product-picture--related .controlled-product-image {
  transform: scale(1.08) !important;
}

body[data-page="product"] .pdp-gallery {
  width: 100%;
  max-width: 520px;
  justify-self: center;
}

.controlled-neutral-media {
  width: 100%;
  height: 100%;
  min-width: 0;
  aspect-ratio: 4 / 5;
  padding: clamp(10px, 8%, 28px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(3px, 1vw, 8px);
  overflow: hidden;
  color: #171714;
  background: #f8f7f4;
  border: 0;
  text-align: center;
}

.controlled-neutral-media::before,
.controlled-neutral-media::after,
.controlled-neutral-media > *::before,
.controlled-neutral-media > *::after {
  content: none !important;
  display: none !important;
}

.controlled-neutral-brand {
  font: 600 clamp(14px, 2vw, 24px) / 1 var(--serif);
  letter-spacing: -0.03em;
}

.controlled-neutral-name {
  max-width: 16ch;
  font: 650 clamp(9px, 1.35vw, 15px) / 1.15 var(--sans);
}

.controlled-neutral-amount {
  font: 650 clamp(9px, 1.2vw, 13px) / 1 var(--mono);
  letter-spacing: 0.04em;
}

.controlled-neutral-pending {
  max-width: 18ch;
  color: var(--text-3);
  font: 500 clamp(7px, 1vw, 11px) / 1.25 var(--sans);
}

.product-image-wrap,
.pdp-main-image {
  aspect-ratio: 4 / 5 !important;
}

.pdp-main-image > .controlled-product-picture,
.pdp-main-image > .controlled-neutral-media {
  position: absolute;
  inset: 0;
}

.bundle-thumb,
.cart-recommendation-image,
.summary-line-media,
.cart-item-media,
.pdp-purchase-dock__media,
.search-result-image {
  display: block;
  flex: 0 0 auto;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
}

.bundle-thumb {
  width: 72px;
  height: 90px;
}

.cart-recommendation-image {
  width: 72px;
  height: 90px;
  object-fit: initial;
}

.summary-line-media {
  width: 48px;
  height: 60px;
}

.cart-item-media {
  width: 72px;
  height: 90px;
}

.pdp-purchase-dock__media {
  width: 44px;
  height: 55px;
  border-radius: 5px;
}

.search-result-image {
  width: 60px;
  height: 75px;
}

.bundle-thumb .controlled-neutral-media,
.cart-recommendation-image .controlled-neutral-media,
.summary-line-media .controlled-neutral-media,
.cart-item-media .controlled-neutral-media,
.pdp-purchase-dock__media .controlled-neutral-media,
.search-result-image .controlled-neutral-media {
  padding: 5px 3px;
  gap: 2px;
}

.bundle-thumb .controlled-neutral-brand,
.cart-recommendation-image .controlled-neutral-brand,
.summary-line-media .controlled-neutral-brand,
.cart-item-media .controlled-neutral-brand,
.pdp-purchase-dock__media .controlled-neutral-brand,
.search-result-image .controlled-neutral-brand {
  font-size: 9px;
}

.bundle-thumb .controlled-neutral-name,
.cart-recommendation-image .controlled-neutral-name,
.summary-line-media .controlled-neutral-name,
.cart-item-media .controlled-neutral-name,
.pdp-purchase-dock__media .controlled-neutral-name,
.search-result-image .controlled-neutral-name {
  font-size: 6px;
}

.bundle-thumb .controlled-neutral-amount,
.cart-recommendation-image .controlled-neutral-amount,
.summary-line-media .controlled-neutral-amount,
.cart-item-media .controlled-neutral-amount,
.pdp-purchase-dock__media .controlled-neutral-amount,
.search-result-image .controlled-neutral-amount {
  font-size: 6px;
}

.bundle-thumb .controlled-neutral-pending,
.cart-recommendation-image .controlled-neutral-pending,
.summary-line-media .controlled-neutral-pending,
.cart-item-media .controlled-neutral-pending,
.pdp-purchase-dock__media .controlled-neutral-pending,
.search-result-image .controlled-neutral-pending {
  font-size: 5px;
}

@media (max-width: 640px) {
  .search-result-image {
    width: 52px;
    height: 65px;
  }

  .controlled-neutral-media {
    padding: 10px 6px;
  }
}

/* Rendered storefront QA repairs: cart recommendation, checkout composition,
   and narrow standards tables. */

body[data-page="cart"] .cart-cross-sell .drawer-cross-row {
  padding: 16px;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

body[data-page="cart"] .cart-cross-sell .cart-recommendation-image {
  grid-column: 1;
  grid-row: 1;
}

body[data-page="cart"] .cart-cross-sell .cart-recommendation-copy {
  grid-column: 2;
  grid-row: 1;
  gap: 5px;
}

body[data-page="cart"] .cart-cross-sell .cart-recommendation-copy > strong {
  color: var(--ink);
  font: 650 16px/1.2 var(--sans);
  letter-spacing: -0.02em;
}

body[data-page="cart"] .cart-cross-sell .cart-recommendation-meta {
  color: var(--text-3);
  font: 500 10px/1.3 var(--mono);
}

body[data-page="cart"] .cart-cross-sell .cart-recommendation-reason {
  display: none;
}

body[data-page="cart"] .cart-cross-sell .cart-recommendation-value {
  color: var(--ink);
  font: 600 12px/1.4 var(--sans);
}

body[data-page="cart"] .cart-cross-sell .cart-recommendation-effect {
  color: var(--text-2);
  font: 400 11px/1.4 var(--sans);
}

body[data-page="cart"] .cart-cross-sell .is-fallback .drawer-cross-add {
  width: auto;
  min-width: 148px;
  padding-inline: 18px;
  grid-column: 3;
  grid-row: 1;
  color: #fff;
  background: var(--ink);
  border-color: var(--ink);
  border-radius: 999px;
}

@media (max-width: 979px) {
  body[data-page="checkout"] .checkout-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  body[data-page="checkout"] .checkout-mobile-summary {
    display: block;
    grid-row: 1;
  }

  body[data-page="checkout"] .checkout-main {
    grid-row: 2;
  }

  body[data-page="checkout"] .checkout-aside {
    display: none;
  }
}

@media (max-width: 640px) {
  body[data-page="cart"] .cart-cross-sell .drawer-cross-row {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px 14px;
    align-items: start;
  }

  body[data-page="cart"] .cart-cross-sell .is-fallback .drawer-cross-add {
    width: 100%;
    min-width: 0;
    grid-column: 1 / -1;
    grid-row: 2;
    border-radius: 0;
  }

  body[data-page="about"] .spec-row {
    padding: 16px;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    align-items: start;
  }

  body[data-page="about"] .spec-row > * {
    overflow-wrap: normal;
  }
}

/*
 * Final stacked-cart composition: merchandise and its optional companion stay
 * together before the order summary. The floating checkout action yields as
 * soon as the summary enters the viewport, so it never covers shipping or tax.
 */
@media (max-width: 960px) {
  body[data-page="cart"] .cart-layout {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  body[data-page="cart"] .cart-main {
    display: block;
    order: 1;
  }

  body[data-page="cart"] .cart-cross-sell {
    order: initial;
    margin-top: 32px;
    padding-top: 24px;
  }

  body[data-page="cart"] .cart-aside {
    order: 2;
  }
}

/* The promoted storefront shell is the site shell. Supporting, cart, and
   checkout routes reuse its black-and-white hierarchy instead of changing
   brands mid-journey. */

.demo-banner {
  min-height: 36px;
  padding: 8px 24px;
  gap: 10px;
  color: rgba(255, 255, 255, 0.72);
  background: #0a0a09;
  border-bottom: 1px solid rgba(255, 255, 255, 0.11);
  font: 500 10px/1.45 var(--mono);
  letter-spacing: 0.045em;
  text-transform: none;
}

.demo-banner strong {
  color: #fff;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.demo-banner strong::after {
  display: none;
}

.demo-banner span {
  max-width: none;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.header-main {
  min-height: 76px;
  padding: 0;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 28px;
}

.header-main .wordmark {
  justify-self: center;
}

.header-main .noli-wordmark {
  width: 106px;
  height: auto;
}

.primary-nav {
  align-items: center;
  gap: 30px;
}

.primary-nav-right {
  gap: 14px;
}

.primary-nav a {
  position: relative;
  color: var(--text-2);
  font: 600 11px/1.2 var(--sans);
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.primary-nav a::after {
  position: absolute;
  right: 100%;
  bottom: -8px;
  left: 0;
  height: 1px;
  background: #0a0a09;
  content: "";
  transition: right 240ms cubic-bezier(0.16, 1, 0.3, 1);
}

.primary-nav a:hover::after,
.primary-nav a[aria-current="page"]::after {
  right: 0;
}

.primary-nav-right .utility-action,
.mobile-header-actions .icon-button {
  position: relative;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  color: #0a0a09;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 50%;
}

.primary-nav-right .utility-action svg,
.mobile-header-actions .icon-button svg {
  width: 19px;
  height: 19px;
}

.mobile-nav-search {
  width: 100%;
  min-height: 52px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #0a0a09;
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--line);
  font: 650 13px/1.2 var(--sans);
  text-align: left;
}

.mobile-nav-search svg {
  width: 18px;
  height: 18px;
}

body:not([data-page="checkout"]):not([data-page="confirmation"]):not([data-page="static-home"])
  .page-hero {
  padding-block: 52px 50px;
  color: #fff;
  background: #0a0a09;
  border-color: #0a0a09;
}

body:not([data-page="checkout"]):not([data-page="confirmation"]):not([data-page="static-home"])
  .page-hero
  h1 {
  color: #fff;
  font-family: var(--sans);
  font-size: clamp(48px, 5vw, 68px);
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.06em;
}

body:not([data-page="checkout"]):not([data-page="confirmation"]):not([data-page="static-home"])
  .page-hero
  p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.62);
}

body:not([data-page="static-home"]) h1,
body:not([data-page="static-home"]) h2,
body:not([data-page="static-home"]) h3 {
  font-family: var(--sans);
}

.button,
.add-button,
.pdp-add,
.checkout-cta,
.secure-checkout-button {
  border-radius: 999px;
}

.site-footer {
  padding: 72px 0 32px;
  color: rgba(255, 255, 255, 0.62);
  background: #0a0a09;
  border-top: 1px solid rgba(255, 255, 255, 0.11);
}

.site-footer .footer-grid {
  padding-bottom: 64px;
  grid-template-columns: minmax(240px, 1.6fr) repeat(3, minmax(110px, 1fr));
  gap: 56px;
}

.site-footer .wordmark {
  width: 142px;
  display: block;
}

.site-footer .noli-wordmark {
  width: 142px;
  height: auto;
  filter: none;
}

.site-footer .footer-brand p {
  max-width: 350px;
  margin-top: 24px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  line-height: 1.65;
}

.site-footer .footer-column h2 {
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.42);
  font: 500 9px/1.3 var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.site-footer .footer-column a {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  line-height: 1.4;
}

.site-footer .footer-column a + a {
  margin-top: 13px;
}

.site-footer .footer-column a:hover {
  color: #fff;
}

.site-footer .footer-bottom {
  margin-top: 0;
  padding-top: 24px;
  color: rgba(255, 255, 255, 0.34);
  border-color: rgba(255, 255, 255, 0.11);
}

@media (min-width: 901px) {
  .primary-nav {
    display: flex;
  }

  .mobile-header-actions {
    display: none;
  }
}

@media (max-width: 900px) {
  .demo-banner {
    min-height: 38px;
    padding: 6px 12px;
    display: flex;
    gap: 8px;
    font-size: 8px;
    white-space: normal;
  }

  .header-main {
    height: 65px;
    min-height: 65px;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 12px;
  }

  .primary-nav {
    display: none;
  }

  .header-main .wordmark {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
  }

  .header-main .noli-wordmark {
    width: 88px;
    height: auto;
  }

  .mobile-header-actions {
    display: contents;
  }

  .mobile-header-actions .mobile-menu-button {
    display: inline-grid;
    grid-column: 1;
    grid-row: 1;
  }

  .mobile-header-actions [data-search-open] {
    display: none;
  }

  .mobile-header-actions [data-cart-open] {
    grid-column: 3;
    grid-row: 1;
  }

  .site-footer .footer-grid {
    grid-template-columns: minmax(190px, 1.35fr) repeat(3, minmax(100px, 1fr));
    gap: 28px;
  }
}

@media (max-width: 700px) {
  body:not([data-page="checkout"]):not([data-page="confirmation"]):not([data-page="static-home"])
    .page-hero {
    padding-block: 42px;
  }

  body:not([data-page="checkout"]):not([data-page="confirmation"]):not([data-page="static-home"])
    .page-hero
    h1 {
    font-size: clamp(42px, 12vw, 54px);
  }

  .site-footer {
    padding: 56px 0 30px;
  }

  .site-footer .footer-grid {
    padding-bottom: 36px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 22px;
  }

  .site-footer .footer-brand {
    grid-column: 1 / -1;
  }

  .site-footer .footer-column:last-child {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 22px;
  }

  .site-footer .footer-column:last-child h2 {
    grid-column: 1 / -1;
  }

  .site-footer .footer-column a,
  .site-footer .footer-column a + a {
    min-height: 44px;
    margin: 0;
    display: flex;
    align-items: center;
  }

  .site-footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }
}

/* Final responsive QA: preserve readable rhythm and honest 44px targets on
   dense commerce and long-form supporting routes. This contract stays last so
   earlier legacy breakpoint layers cannot silently shrink the controls again. */

.mini-quantity {
  height: 46px;
}

.mini-quantity button,
.mini-quantity span {
  min-height: 44px;
}

.remove-item {
  min-height: 44px;
  padding-inline: 6px;
  display: inline-flex;
  align-items: center;
}

body[data-page="cart"] .promo-input-row input,
body[data-page="cart"] .promo-input-row .button {
  height: 44px;
  min-height: 44px;
}

body:not([data-page="checkout"]) .field input,
body:not([data-page="checkout"]) .field select {
  height: 48px;
  min-height: 48px;
}

.summary-total {
  gap: 16px;
  align-items: flex-start;
}

.summary-total strong:first-child {
  min-width: 0;
}

.summary-total strong:last-child {
  flex: 0 0 auto;
}

@media (max-width: 640px) {
  .article-shell p .text-link,
  .spec-row .text-link {
    min-height: 0;
    margin: 0;
    display: inline;
  }

  .article-shell > .article-action {
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  .article-shell > .article-action .text-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

@media (max-width: 350px) {
  body[data-page="cart"] .checkout-cta {
    padding-inline: 10px;
    font-size: 9px;
    letter-spacing: 0.08em;
    white-space: nowrap;
  }
}

/* Close the desktop cart journey on the same rhythm as its content instead of
   stacking the cart section's bottom pad with the newsletter's outer pad. */
@media (min-width: 901px) {
  body[data-page="cart"] .section.cart-page-section {
    padding-bottom: var(--s-6);
  }

  body[data-page="cart"] > #site-root > .section-tight {
    padding-top: 0;
  }
}

/* The protocol field already reserves its validation line. Avoid adding a
   second oversized gap before the related purchaser attestations on phones. */
@media (max-width: 700px) {
  body[data-page="checkout"] .research-attestations {
    margin-top: 10px;
    padding-top: 18px;
  }
}

/* Carry the promoted storefront's radius hierarchy through the transaction
   pages so checkout does not switch back to a separate square component kit. */
:root {
  --r-sm: 10px;
  --r-md: 12px;
  --r-lg: 14px;
}

body[data-page="cart"] :is(.order-summary, .promo-form, .cart-recommendation-card) {
  border-radius: var(--r-lg);
}

body[data-page="cart"] .cart-row-image img {
  border-radius: var(--r-md);
}

body[data-page="cart"] :is(.checkout-cta, .cart-actions .button) {
  border-radius: var(--r-pill);
}

body[data-page="cart"] .checkout-cta {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

body[data-page="cart"] :is(.promo-input-row input, .promo-input-row .button) {
  border-radius: var(--r-sm);
}

body[data-page="cart"] .cart-recommendation-action {
  border-radius: var(--r-sm);
}

body[data-page="checkout"]
  :is(.checkout-mobile-summary, .order-summary, .promo-disclosure, .promo-form) {
  border-radius: var(--r-lg);
}

body[data-page="checkout"] :is(.field input, .field select) {
  border-radius: var(--r-sm);
}

body[data-page="checkout"] :is(.choice, .review-block, .research-attestations) {
  border-radius: var(--r-md);
}

body[data-page="checkout"] .step-actions .button {
  border-radius: var(--r-pill);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

/* Information pages share the promoted storefront's pill action language. */
body:not([data-page="static-home"]) :is(.button-primary, .button-secondary) {
  border-radius: var(--r-pill);
}

body[data-page="testing"] .testing-lookup .button-primary {
  color: var(--ink);
  background: #fff;
  border-color: #fff;
}

body[data-page="testing"] .testing-lookup .button-primary:hover {
  color: var(--ink);
  background: var(--cream);
  border-color: var(--cream);
}

/*
 * The retired campaign sheet assigns every `.section` 120px on desktop and
 * 78px on phones. On support pages that creates an empty band before every
 * answer or comparison, so their cadence now follows the promoted storefront.
 */
body:is([data-page="about"], [data-page="testing"], [data-page="faq"]) .section {
  padding-block: clamp(64px, 5.6vw, 80px);
}

body[data-page="policy"] .article-shell > h2:first-child {
  margin-top: 0;
}

/* Keep navigation identity constant after a shopper enters a support page. */
@media (max-width: 960px) {
  .mobile-drawer {
    right: auto;
    left: 0;
    width: min(92vw, 360px);
    padding: 24px;
    display: block;
    overflow-y: auto;
    color: #fff;
    background: #0a0a09;
    clip-path: inset(0 100% 0 0);
  }

  .mobile-drawer:not([data-open="true"]) {
    transition:
      clip-path 300ms var(--ease),
      visibility 0s 300ms;
  }

  .mobile-drawer .drawer-head {
    min-height: 104px;
    padding: 0;
    justify-content: flex-start;
    border-bottom: 0;
  }

  .mobile-drawer .drawer-head h2 {
    display: none;
  }

  .mobile-drawer .drawer-close {
    color: #fff;
    background: transparent;
    border: 0;
    font-size: 20px;
  }

  .mobile-nav {
    gap: 0;
    padding-top: 0;
  }

  .mobile-nav::before {
    content: "Menu";
    margin-bottom: 17px;
    color: rgba(255, 255, 255, 0.42);
    font: 500 9px/1.2 var(--mono);
    letter-spacing: 0.18em;
    text-transform: uppercase;
  }

  .mobile-nav a,
  .mobile-nav-search {
    width: 100%;
    min-height: 58px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.13);
    font: 650 18px/1.1 var(--sans);
    letter-spacing: 0.055em;
    text-transform: uppercase;
  }

  .mobile-nav a::after {
    content: "→";
    flex: 0 0 auto;
    font-size: 18px;
  }

  .mobile-nav-search span {
    order: 1;
  }

  .mobile-nav-search svg {
    order: 2;
    margin-left: auto;
    color: currentColor;
  }
}

@media (max-width: 700px) {
  body:is([data-page="about"], [data-page="testing"], [data-page="faq"]) .section {
    padding-block: 56px;
  }
}

/* Payment marks under the secure-payment handoff. */
.paybadges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 14px 0 0;
}

.paybadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 30px;
  border: 1px solid rgba(10, 10, 9, 0.14);
  border-radius: 6px;
  background: #fff;
}

.paybadge svg {
  width: 38px;
  height: 20px;
  display: block;
}

/* Preserve the approved Revision L physical-ink color and glass rendering on
   the accessible static-home comparison surface. */
body[data-page="static-home"]
  :is(.hero-visual, .testing-image, .journal-feature)
  > img {
  filter: none;
  mix-blend-mode: normal;
}

/* Audit fixes: 404 hero action, decision-point dead space, article rhythm,
   grids that fill their row, and real touch targets on text links. */
body[data-page="404"] .page-hero .button-primary {
  background: #fff;
  color: var(--ink);
  border-color: #fff;
}

body[data-page="404"] .page-hero .button-secondary {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}

.checkout-api-error:empty,
.checkout-main .step-hint:empty {
  display: none;
}

.article-shell p,
.article-shell ul,
.article-shell ol {
  margin-block: var(--s-4, 16px);
}

.article-shell ul {
  list-style: disc outside;
  padding-inline-start: 1.2em;
}

.article-shell li + li {
  margin-top: var(--s-2, 8px);
}

.bundle-grid,
.education-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

@media (max-width: 700px) {
  .bundle-components a,
  .detail-rail a,
  .education-card a,
  .article-action a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}

.price-savings {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  color: var(--green, #218048);
  font-weight: 600;
}

/* Embedded Stripe checkout mount. */
.embedded-checkout {
  margin-top: 20px;
  min-height: 480px;
}

/* Checkout review conversion redesign. The review column reads as one dense,
   calm block: framed order lines, the research-use line, then a left-anchored
   high-prominence payment CTA with its reassurance, payment marks, and trust
   bullets stacked tight beneath it. No internal gap exceeds 32px, and the
   thumbnails sit clean on white with no drawn frame. */
body[data-page="checkout"] .checkout-review-head {
  display: flex;
  gap: 16px;
  align-items: baseline;
  justify-content: space-between;
}

body[data-page="checkout"] .checkout-review-head h2 {
  margin: 0;
  font-size: 24px;
  letter-spacing: -0.02em;
}

body[data-page="checkout"] .checkout-review > .summary-lines {
  margin-top: 14px;
  padding-block: 18px;
  border-top: 1px solid var(--line);
}

body[data-page="checkout"] .summary-line-media,
body[data-page="checkout"] .summary-line img {
  border: 0;
  border-radius: 8px;
}

body[data-page="checkout"] .checkout-review .summary-line {
  grid-template-columns: 64px minmax(0, 1fr) auto;
  column-gap: 16px;
}

body[data-page="checkout"] .checkout-review .summary-line-media {
  width: 64px;
  height: 80px;
}

body[data-page="checkout"] .checkout-review .summary-line strong,
body[data-page="checkout"] .checkout-review .summary-line span.summary-line-price {
  font-size: 15px;
}

body[data-page="checkout"] .checkout-ruo-note {
  margin: 14px 0 0;
  color: var(--text-2);
  font-size: 12.5px;
  line-height: 1.5;
}

body[data-page="checkout"] .checkout-main .step-hint {
  margin-top: 12px;
}

body[data-page="checkout"] .step-actions .secure-checkout-button {
  min-width: min(360px, 100%);
  min-height: 54px;
  margin-left: 0;
  padding-inline: 40px;
  font-size: 15px;
}

body[data-page="checkout"] .checkout-ship-reassure {
  display: flex;
  gap: 7px;
  align-items: center;
  margin: 12px 0 0;
  color: var(--text-2);
  font-size: 12.5px;
}

body[data-page="checkout"] .checkout-ship-reassure svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  color: var(--success);
}
