@font-face { font-family: "Bodoni Moda"; font-weight: 500; font-display: block; src: url("/fonts/bodoni-moda-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans Condensed"; font-weight: 700; font-display: block; src: url("/fonts/ibm-plex-sans-condensed-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 400; font-display: block; src: url("/fonts/source-sans-3-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 600; font-display: block; src: url("/fonts/source-sans-3-latin-600-normal.woff2") format("woff2"); }

/* Saddlehill outlet wine menu, styled after the Saddlehill Wine Menu (Group Event Menu, p. 8):
   double-rule frame, engraved serif title, underlined serif section heads, bold condensed wine names,
   short tasting note, right-aligned bottle price. Sizes scale with --s so the menu can shrink to fit. */

.sh-menu { --s: 1; --ink: #1f1a1b; --soft: #3d3638; --rule: #2a2526; --wine: #6B1423;
  position: relative; background: #fff; color: var(--ink); box-sizing: border-box; overflow: hidden;
  font-family: "Source Sans 3", "Myriad Pro", Arial, sans-serif; }
.sh-menu.s5x7 { width: 5in; height: 7in; }
.sh-menu.s8x10 { width: 8in; height: 10in; }
.sh-menu *, .sh-menu *::before, .sh-menu *::after { box-sizing: border-box; }

/* double-rule frame */
.sh-menu .frame { position: absolute; inset: 0.16in; border: 1.6pt solid var(--rule); border-radius: 3pt; }
.sh-menu .frame::before { content: ""; position: absolute; inset: 3.5pt; border: 0.6pt solid var(--rule); border-radius: 2pt; }
.sh-menu .body { position: absolute; inset: 0.16in; padding: 0.24in 0.3in 0.2in; display: flex; flex-direction: column; }
.sh-menu.s8x10 .body { padding: 0.36in 0.5in 0.28in; }

.sh-menu .mhead { text-align: center; }
.sh-menu .outlet-logo { display: block; margin: 0 auto calc(var(--s) * 4pt); max-width: 70%; object-fit: contain; max-height: 0.85in; }
.sh-menu.s8x10 .outlet-logo { max-height: 1.25in; }
.sh-menu .outlet-name { font-family: "Bodoni Moda", "Craw Modern", Didot, serif; font-size: calc(var(--s) * 15pt); letter-spacing: .08em; text-transform: uppercase; margin-bottom: calc(var(--s) * 2pt); }
.sh-menu .mtitle { font-family: "Bodoni Moda", "Craw Modern", Didot, serif; font-weight: 500; font-size: calc(var(--s) * 22pt); letter-spacing: .04em; margin: 0; line-height: 1.1; }
.sh-menu.s8x10 .mtitle { font-size: calc(var(--s) * 30pt); }
.sh-menu .sub { font-size: calc(var(--s) * 7pt); letter-spacing: .14em; text-transform: uppercase; color: var(--soft); margin-top: calc(var(--s) * 3pt); }
.sh-menu.s8x10 .sub { font-size: calc(var(--s) * 8.5pt); }

.sh-menu .list { flex: 1; margin-top: calc(var(--s) * 10pt); column-gap: 0.32in; }
.sh-menu .list.two { column-count: 2; }
.sh-menu.s8x10 .list { margin-top: calc(var(--s) * 16pt); column-gap: 0.5in; }

.sh-menu .sec { display: flex; align-items: flex-end; justify-content: space-between; break-after: avoid; break-inside: avoid;
  font-family: "Bodoni Moda", "Craw Modern", Didot, serif; font-size: calc(var(--s) * 10.5pt); letter-spacing: .07em; text-transform: uppercase;
  margin: calc(var(--s) * 9pt) 0 calc(var(--s) * 5pt); }
.sh-menu .sec:first-child { margin-top: 0; }
.sh-menu .sec span { text-decoration: underline; text-decoration-thickness: .6pt; text-underline-offset: 2.5pt; }
.sh-menu.s8x10 .sec { font-size: calc(var(--s) * 13pt); margin: calc(var(--s) * 14pt) 0 calc(var(--s) * 7pt); }
.sh-menu .sec svg { height: calc(var(--s) * 10pt); width: auto; fill: var(--ink); margin-right: 2pt; }

.sh-menu .item { display: grid; grid-template-columns: 1fr auto; column-gap: 8pt; break-inside: avoid; margin-bottom: calc(var(--s) * 5.5pt); }
.sh-menu.s8x10 .item { margin-bottom: calc(var(--s) * 8pt); }
.sh-menu .name { font-family: "IBM Plex Sans Condensed", "Arial Narrow", sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
  font-size: calc(var(--s) * 9pt); line-height: 1.15; }
.sh-menu.s8x10 .name { font-size: calc(var(--s) * 11.5pt); }
.sh-menu .size { font-family: "Source Sans 3", Arial, sans-serif; font-weight: 600; text-transform: none; font-size: .78em; color: var(--soft); letter-spacing: 0; margin-left: 3pt; }
.sh-menu .note { grid-column: 1; font-size: calc(var(--s) * 7.2pt); line-height: 1.25; color: var(--soft); }
.sh-menu.s8x10 .note { font-size: calc(var(--s) * 9pt); }
.sh-menu .price { grid-column: 2; grid-row: 1; font-size: calc(var(--s) * 8.5pt); align-self: start; padding-top: .5pt; font-variant-numeric: tabular-nums; }
.sh-menu.s8x10 .price { font-size: calc(var(--s) * 10.5pt); }

.sh-menu .mfoot { text-align: center; margin-top: calc(var(--s) * 6pt); }
.sh-menu .sh-logo { height: 0.42in; width: auto; display: block; margin: 0 auto calc(var(--s) * 3pt); }
.sh-menu.s8x10 .sh-logo { height: 0.6in; }
.sh-menu .fine { font-size: calc(var(--s) * 6.3pt); letter-spacing: .06em; color: var(--soft); line-height: 1.45; }
.sh-menu.s8x10 .fine { font-size: calc(var(--s) * 7.5pt); }
.sh-menu .empty { text-align: center; color: var(--soft); font-style: italic; margin-top: 1in; }
