/* carta-paper: engraved paper and ink. Colours and fonts come from the theme tokens. */
:root {
  --paper: #f4efe1; --ink: #2f2b25; --accent: #8a6a3d; --accent2: #6f7d5a;
  --font-display: "Cormorant Garamond", Georgia, serif; --font-body: "EB Garamond", Georgia, serif; --font-script: "Pinyon Script", cursive;
  --on-accent: #fbf9f4; --on-ink: #fbf9f4;
  --m-w: 44rem;
}
html { background: var(--paper); }
body { background: var(--paper) url(/assets/fine-cotton.webp) center top / 900px auto; background-blend-mode: multiply; }
.is-dark body { background-blend-mode: normal; background-image: none; }
.m-app { position: relative; }
/* a double rule frames the sheet on wide screens */
@media (min-width: 760px) {
  .m-app::before { content: ""; position: fixed; inset: 14px; border: 1px solid var(--line); outline: 1px solid var(--line); outline-offset: -6px; pointer-events: none; z-index: 1; }
}
.m-brand { padding-top: 34px; }
.m-brand__deco { mix-blend-mode: multiply; opacity: .9; margin-bottom: 14px; }
.is-dark .m-brand__deco { mix-blend-mode: screen; filter: invert(1); opacity: .8; }
.m-brand__rule { display: block; width: 64px; height: 1px; margin: 0 auto 22px; background: var(--ink); box-shadow: 0 4px 0 -0px var(--ink); opacity: .5; }
.m-name { font-weight: 500; letter-spacing: .02em; font-size: clamp(2.7rem, 11vw, 4.6rem); }
.m-tagline { font-family: var(--font-script); font-style: normal; font-size: 1.35rem; color: var(--accent-ink); margin-top: 12px; }
.m-meta { font-style: italic; }
.m-bar { background: color-mix(in srgb, var(--paper) 92%, transparent); border-color: var(--ink); border-block-width: 1px; box-shadow: 0 3px 0 -2px var(--paper), 0 4px 0 -2px var(--line); }
.m-nav a { font-family: var(--font-display); font-weight: 600; font-size: 1.08rem; letter-spacing: .04em; border-radius: 2px; }
.m-nav a[aria-current="true"] { background: none; color: var(--ink); box-shadow: inset 0 -2px 0 var(--ink); border-radius: 0; }
.m-lang, .m-search, .m-print, .m-chip, .m-top { border-radius: 2px; }
.m-lang button { border-radius: 1px; }
.m-search { background: color-mix(in srgb, var(--paper) 70%, transparent); }
.m-chip { font-style: italic; border-radius: 2px; }
.m-chip__code { border-radius: 2px; background: none; border: 1px solid currentColor; font-style: normal; }
.m-chip[aria-pressed="true"] .m-chip__code { background: none; color: inherit; }
.m-sec { padding-top: 44px; }
.m-sec__head { display: block; text-align: center; margin-bottom: 14px; }
.m-sec__head h2 { font-weight: 500; font-size: clamp(2rem, 7vw, 2.8rem); letter-spacing: .02em; }
.m-sec__head h2::after { content: ""; display: block; width: 46px; height: 1px; margin: 10px auto 0; background: var(--accent); }
.m-sec__desc { margin-top: 8px; }
.m-item { border-bottom: 0; padding: 12px 0; }
.m-item__name { font-family: var(--font-display); font-weight: 600; font-size: 1.28rem; letter-spacing: .01em; }
.m-item__dots { border-bottom: 1px dotted color-mix(in srgb, var(--ink) 55%, transparent); }
.m-price { font-family: var(--font-display); font-weight: 600; font-size: 1.22rem; }
.m-item__desc { font-style: italic; }
.m-item__img { border-radius: 2px; padding: 4px; background: color-mix(in srgb, var(--paper) 60%, white); box-shadow: 0 0 0 1px var(--line), 0 6px 14px -8px rgba(40, 30, 10, .5); transform: rotate(-.8deg); }
.m-item__img img { border-radius: 1px; filter: sepia(.15) contrast(1.02); }
.m-item:nth-child(even) .m-item__img { transform: rotate(.8deg); }
.m-tag { border-radius: 2px; font-family: var(--font-body); }
.m-legend summary { font-family: var(--font-display); font-size: 1rem; }
.m-foot { font-style: italic; }
@media (prefers-reduced-motion: reduce) { .m-item__img { transform: none !important; } }
