@charset "UTF-8";

:root {
  --yamm-ivory: #fff;
  --yamm-ink: #111;
  --yamm-green: #0f3d2e;
  --yamm-gold: #d8ac40;
  --yamm-border: rgba(0, 0, 0, 0.12);
  --yamm-page-inline: clamp(18px, 3vw, 48px);
  --yamm-content-max: 1600px;
  --yamm-radius-pill: 999px;
  --yamm-ease-lux: cubic-bezier(.22, 1, .36, 1);
  --yamm-font-brand: "YAMM Nicolas Cochin", Cochin, "Bodoni 72", Didot, "Times New Roman", serif;
  --yamm-font-ui: "YAMM Intrepid", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --yamm-font-body: "YAMM Intrepid", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --yamm-brand-mobile-name-size: 23px;
  --yamm-brand-mobile-city-size: 8.5px;
  --yamm-brand-mobile-name-tracking: .055em;
  --yamm-brand-mobile-city-tracking: .27em;
}

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

html {
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  font-synthesis: none;
  background: #fff;
}

body {
  margin: 0;
  background: #fff;
  color: var(--yamm-ink);
  font-family: var(--yamm-font-ui);
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*
 * Cross-layer contract for the desktop added-product confirmation.
 * The compact cart sheet starts below the header, so the header must paint
 * above its dimming layer and remain the same opaque white as the sheet.
 */
@media (min-width: 821px) {
  body.yamm-cart-sheet-open:has(.yamm-cart-sheet.is-added-mode.is-open) .yamm-header {
    z-index: 910;
    background: #fff !important;
    opacity: 1 !important;
  }
}

img,
picture,
video,
canvas,
svg { display: block; max-width: 100%; }

a { color: inherit; }
button,
input,
select,
textarea { font: inherit; }
button,
a { -webkit-tap-highlight-color: transparent; }
button { font-family: var(--yamm-font-ui); }
[hidden] { display: none !important; }

.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.yamm-skip-link {
  position: fixed;
  z-index: 10000;
  top: 8px;
  left: 8px;
  padding: 10px 14px;
  background: #fff;
  color: #000;
  transform: translateY(-200%);
}
.yamm-skip-link:focus { transform: none; }

.yamm-main {
  width: min(100%, var(--yamm-content-max));
  min-height: 60vh;
  margin-inline: auto;
  padding-inline: var(--yamm-page-inline);
}

.yamm-entry,
.yamm-empty-state { padding-block: clamp(54px, 7vw, 112px); }

.yamm-entry__title {
  margin: 0 0 34px;
  font-family: var(--yamm-font-ui);
  font-size: clamp(34px, 5vw, 68px);
  line-height: 1;
  font-weight: 400;
}

.yamm-entry__content { font-size: 14px; line-height: 1.65; }
:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }
::selection { background: #111; color: #fff; }

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