@font-face {
  font-family: 'Inter';
  src: url('../fonts/InterVariable.693b77d4f32ee9b8.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Space Grotesk';
  src: url('../fonts/SpaceGrotesk.8e085aa438094f11.woff2') format('woff2');
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
.public-design { margin: 0; background: var(--c-bg); color: var(--c-ink); font: 400 15px/1.5 var(--f-text); -webkit-font-smoothing: antialiased; }
.public-design *, .public-design *::before, .public-design *::after { box-sizing: border-box; }
.public-design [hidden] { display: none !important; }
.public-design a { color: inherit; text-decoration: none; }
.public-design a:hover { color: var(--c-accent-hover); }
.public-design button, .public-design input, .public-design select, .public-design textarea { font: inherit; }
.public-design button { cursor: pointer; }
.public-design button:disabled { cursor: not-allowed; }
.public-design img { display: block; max-width: 100%; }
.public-design h1, .public-design h2, .public-design h3, .public-design h4 { font-family: var(--f-display); letter-spacing: -.02em; margin: 0; }
.public-design h1 { font-size: min(var(--public-text-cap, 44px), 44px); font-weight: 700; line-height: 1.08; letter-spacing: -.03em; }
.public-design h2 { font-size: min(var(--public-text-cap, 30px), 30px); font-weight: 700; line-height: 1.2; }
.public-design p { margin: 0; }
.public-design :focus-visible { outline: 2px solid var(--c-accent); outline-offset: 4px; }
.public-design :is(.site-header, .public-menu, .site-footer) :focus-visible,
.public-design :is(.site-header, .public-menu) .header-search:focus-within { outline-color: var(--c-muted); }
.public-design :is(section, main, footer)[id] { scroll-margin-top: calc(var(--header-height) + 24px); }
.public-design .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.public-design .skip-link { position: fixed; left: 20px; top: -100px; z-index: 100; padding: 12px 20px; background: var(--c-surface); color: var(--c-ink); }
.public-design .skip-link:focus { top: 8px; }
.public-design .muted { color: var(--c-ink-2); }
.public-design .kicker { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.public-design .text-link { color: var(--c-accent); font-weight: 500; }
.public-design .text-link:hover { color: var(--c-accent-hover); }
.public-design.modal-open { overflow: hidden; }
@media (max-width: 860px) {
  .public-design { --header-height: 56px; --space-page: 20px; }
  .public-design h1 { font-size: min(var(--public-text-cap, 30px), 30px); }
  .public-design h2 { font-size: 24px; }
  .public-design .text-link { display: inline-flex; align-items: center; min-height: 48px; }
}

/* Public maximum, not a replacement size: smaller declarations stay smaller. */
.public-design { --public-text-cap: 34px; }
.public-design .detail-copy h1, .public-design .product-card h3,
.public-design .cart-item h3, .public-design .checkout-item h3 {
  font-family: var(--f-text);
}
@media (max-width: 860px) { .public-design { --public-text-cap: 24px; } }
