:root, * {
  --primary-1: #F6D5D6;
  --primary-2: #48A4EE;
  --primary-3: #4097DD;
  --primary-4: #388ACC;
  --primary-5: #A82429;
  --primary-6: #206399;
  --primary-7: #932024;
  --primary-8: #69171A;
  --primary-rgb: 105, 23, 26;
  --primary-9: #7E1B1F;
  --primary-10: #3F0E0F;
  --primary-11: #001322;
  --primary-12: #000E1A;
  --primary-13: #000911;
  --primary-14: #000509;
  --primary-15: #000000;
  --accent-1: #FBDFD9;
  --accent-2: #F9D3CB;
  --accent-3: #F8C8BD;
  --accent-4: #F6BCAE;
  --accent-5: #F4B0A0;
  --accent-6: #F19984;
  --accent-7: #ED8167;
  --accent-8: #EA6A4B;
  --accent-rgb: 234, 106, 75;
  --accent-9: #D65D3F;
  --accent-10: #C24F33;
  --accent-11: #AF4228;
  --accent-12: #A53B22;
  --accent-13: #9B341C;
  --accent-14: #912E16;
  --accent-15: #872710;
  --tertiary-1: #FEFAF5;
  --tertiary-2: #FCF3E6;
  --tertiary-3: #FBECD7;
  --tertiary-4: #F9E5C9;
  --tertiary-5: #F8DEBA;
  --tertiary-6: #F5CF9C;
  --tertiary-7: #F2C17F;
  --tertiary-8: #EFB361;
  --tertiary-rgb: 239, 179, 97;
  --tertiary-9: #DFA351;
  --tertiary-10: #CE9241;
  --tertiary-11: #BE8230;
  --tertiary-12: #B67A28;
  --tertiary-13: #AD7120;
  --tertiary-14: #A56918;
  --tertiary-15: #9D6110;
  --text-on-primary: #fff;
  --text-on-primary-light: #000;
  --text-on-background: #333;
  --text-low-em: #636363;
  --text-high-em: #000;
  --background:#fff;
  --background-1: #f2f2f2;
  --background-2: #e5e5e5;
  --background-3: #dddddd;
  --text-lighter: #777;
  --text-light: #555;
  --text: #333;
  --text-dark: #111;
  --text-darker: #000;
  --border: #cccccc;
  --border-1: #bfbfbf;
  --border-2: #b2b2b2;
  --border-3: #aaaaaa;
  --global-font: "Montserrat", system-ui, sans-serif;
  --fs-h1: 3rem;
  --fs-h2: 2.125rem;
  --fs-h3: 1.5rem;
  --fs-h4: 1.25rem;
  --fs-h5: 1.125rem;
  --fs-h6: 1rem;
  --fs-lg: 1.25rem;
  --fs-btn-lg: 1.125rem;
  --fs-btn: 1rem;
  --fs-body: 1rem;
  --fs-sm: .875rem;
  --fs-xs: .75rem;
  --font-h1: 800 var(--fs-h1)/1.2 var(--global-font);
  --font-h2: 700 var(--fs-h2)/1.2 var(--global-font);
  --font-h3: 700 var(--fs-h3)/1.2 var(--global-font);
  --font-h4: 600 var(--fs-h4)/1.2 var(--global-font);
  --font-h5: 600 var(--fs-h5)/1.2 var(--global-font);
  --font-h6: 700 var(--fs-h6)/1.1 var(--global-font);
  --font-lg: 500 var(--fs-lg)/1.3 var(--global-font);
  --font-btn-lg: 700 var(--fs-btn-lg)/1 var(--global-font);
  --font-btn: 700 var(--fs-btn)/1 var(--global-font);
  --font-body: 500 var(--fs-body)/1.5 var(--global-font);
  --font-sm: 400 var(--fs-sm)/1.3 var(--global-font);
  --font-xs: 400 var(--fs-xs)/1.2 var(--global-font);
  --space-xs: .5rem;
  --space-sm: .75rem;
  --space: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --page-space: 3rem;
  --page-padding: 4rem;
  --content-max-width: 1100px;
}
@media (width < 1200px) {
  :root, * {
    --fs-h1: 2.25rem;
    --fs-h2: 1.75rem;
    --fs-h3: 1.5rem;
    --fs-h4: 1.25rem;
    --fs-h5: 1.125rem;
    --fs-h6: 1rem;
    --fs-lg: 1.125rem;
    --fs-lg-btn: 1.125rem;
    --fs-btn: 1rem;
    --fs-body: 1rem;
    --fs-sm: .875rem;
    --fs-xs: .6rem;
    --page-padding: 1.5rem;
  }
}

@media (prefers-reduced-motion) {
  *, *::before, *::after {
    transition-duration: 0ms !important;
    transition-timing-function: linear !important;
    transition-delay: 0ms !important;
    animation-duration: 0ms !important;
    animation-timing-function: linear !important;
    animation-delay: 0ms !important;
  }
}
*, *::before, *::after {
  box-sizing: border-box;
  position: relative;
  margin: 0;
  padding: 0;
  outline: none;
}

*::before, *::after {
  content: "";
  content: none;
}

body, html {
  min-height: 100%;
  width: 100%;
  background: rgba(var(--bg-50-rgb), 1);
}

svg, figure {
  max-width: 100%;
  height: auto;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  font-style: italic;
  shape-margin: 1rem;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

ul:not(.list), ol:not(.list) {
  list-style: none;
  padding: 0;
}

hr {
  border: none;
  border-top: 1px solid var(--border-lighter);
  margin-block: var(--space);
}

a {
  font-size: inherit;
  color: var(--_text-color, var(--primary-9));
  text-underline-offset: 5px;
  text-decoration: none;
  font: var(--font-btn);
  background-image: linear-gradient(to bottom, transparent calc(1lh + 0.2em), var(--primary-8) calc(1lh + 0.2em));
  background-repeat: no-repeat;
  background-size: 0% 100%;
  overflow: visible;
  padding-bottom: 0.1em;
  transition: background 300ms cubic-bezier(0.19, 1, 0.22, 1);
}
a:hover {
  background-size: 100% 100%;
}

*, *::before, *::after {
  font-size: 1rem;
  font-weight: 400;
  color: var(--text-on-background);
}

h1, .text-h1 {
  font: var(--font-h1);
  text-transform: uppercase;
  text-wrap: balance;
  color: var(--text-high-em);
}

h2, .text-h2 {
  font: var(--font-h2);
  text-transform: uppercase;
  text-wrap: balance;
  margin-top: 0.25em;
  color: var(--text-high-em);
}

h3, .text-h3 {
  font: var(--font-h3);
  text-transform: uppercase;
  text-wrap: balance;
  margin-top: 1em;
  color: var(--text-high-em);
}

h4, .text-h4 {
  font: var(--font-h4);
  text-transform: uppercase;
  text-wrap: balance;
  margin-top: 0.25em;
  color: var(--text-high-em);
}

h5, .text-h5 {
  font: var(--font-h5);
  text-transform: uppercase;
  text-wrap: balance;
  margin-top: 0.5em;
  color: var(--text-high-em);
}

h6, .text-h6 {
  font: var(--font-h6);
  text-transform: uppercase;
  text-wrap: balance;
  margin-top: 0.5em;
  color: var(--text-high-em);
}

.text-lg {
  font: var(--font-lg);
  margin-top: 0.25em;
}

p, li, section, div, span, td, th, blockquote {
  font: var(--font-body);
}

p {
  margin-top: 1em;
}

small, .text-sm {
  font: var(--font-sm);
  margin-top: 0.25em;
}

.text-xs {
  font: var(--font-xs);
  margin-top: 0.25em;
}

button, .btn {
  --_background: var(--primary-8);
  --_background-hover: var(--primary-9);
  --_background-active: var(--primary-10);
  --_color: var(--text-on-primary);
  --_outline-width: 3px;
  --_outline-color: var(--primary-1);
  --_gap: .5rem;
  --_border-radius: .5rem;
  font: var(--font-btn);
  text-transform: uppercase;
  text-decoration: none;
  border: none;
  cursor: pointer;
  padding: 0.75rem 1.25rem;
  background: var(--_background);
  color: var(--_color);
  border-radius: var(--_border-radius);
  transition: background 150ms ease, transform 150ms ease, outline 150ms ease, color 150ms ease;
  outline: 0px solid transparent;
  display: flex;
  gap: var(--_gap);
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
}
button-menu, .btn-menu {
  font: var(--font-h4);
  text-transform: uppercase;
  text-wrap: balance;
  padding: 1.25rem 2rem;
  --_background: var(--_button-bg);
  --_background-hover: var(--_button-bg-hover);
  --_background-active: var(--_button-bg);
  width: 100%;
  flex-direction: column;
  backdrop-filter: blur(3px);
  text-align: center;
}
button-full-width, .btn-full-width {
  width: 100%;
}
button-white, .btn-white {
  --_background: var(--background);
  --_background-hover: var(--background-1);
  --_background-active: var(--background-2);
  --_color: var(--primary-9);
  --_outline-color: var(--primary-5);
}
button-action, .btn-action {
  --_background: var(--_button-bg);
  --_background-hover: var(--_button-bg-hover);
  --_background-active: var(--_button-bg);
  --_color: var(--_text-color, #000);
}
button:not(:disabled):hover, button:not(:disabled):focus, .btn:not(:disabled):hover, .btn:not(:disabled):focus {
  background: var(--_background-hover);
  color: var(--_color-hover, var(--_color));
}
button:not(:disabled):focus, .btn:not(:disabled):focus {
  outline: var(--_outline-width) solid var(--_outline-color);
}
button:not(:disabled):active, .btn:not(:disabled):active {
  background: var(--_background-active);
  transform: translateY(5%);
  outline: var(--_outline-width) solid var(--_outline-color);
  color: var(--_color-active, var(--_color-hover, var(--_color)));
}
button-lg, .btn-lg {
  --_outline-width: 4px;
  font: var(--font-btn-lg);
  text-transform: uppercase;
  padding: 0.875rem 1.5rem;
}
button-sm, .btn-sm {
  --_outline-width: 0px;
  font: var(--font-body);
}

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

body, html {
  height: 100%;
  width: 100%;
}

.bodywrapper {
  width: 100%;
}
.bodywrapper:not(.no-grid) {
  display: grid;
  grid-template-columns: [full-start] var(--page-padding) [breakout-start] 1fr [content-start] min(var(--content-max-width), 100% - var(--page-padding) * 2) [content-end] 1fr [breakout-end] var(--page-padding) [full-end];
}
.bodywrapper:has(+ .bottom-nav) .menu-page {
  padding-bottom: 8rem;
}

main {
  grid-column: content;
}

section + section {
  margin-top: var(--page-space);
}

.table-container {
  width: 100%;
  overflow-x: auto;
}

table {
  margin-top: 1em;
  border: 1px solid var(--border);
  table-layout: fixed;
  margin-inline: auto;
}
table td, table th {
  text-align: left;
  padding: var(--space-sm);
  min-width: 15ch;
}
table td p, table th p {
  margin: 0;
}
table th {
  font: var(--font-h6);
  text-transform: uppercase;
  text-wrap: balance;
  text-transform: uppercase;
  color: var(--text-high-em);
}

.content-page {
  padding-block: var(--page-space) calc(var(--page-space) * 2.5);
}
.content-page .page-header {
  margin-bottom: 2rem;
  width: 100%;
}

.content-page-header h1 {
  color: var(--primary-8);
}

.content-page-body > :first-child {
  margin: 0;
}

figure {
  display: grid;
  gap: var(--space-sm);
  margin-top: 1em;
  position: relative;
  grid-template-rows: [image-start] max-content [image-end caption-start] max-content [caption-end];
  grid-template-columns: [image-start caption-start] 1fr [caption-end credit-start] max-content [credit-end image-end];
}
figure:has(.image-caption) {
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--border);
}
figure p:has(img) {
  grid-row: image;
  grid-column: image;
}
figure p {
  margin: 0;
}
figure p:not(:has(img)) {
  font-style: italic;
  color: var(--text-low-em);
  grid-row: caption;
  grid-column: caption;
}
figure .image-credit {
  font: var(--font-sm);
  background: rgba(var(--primary-rgb), 0.8);
  color: var(--text-on-primary);
  padding: 0.75em;
  backdrop-filter: blur(5px);
  font-style: italic;
  grid-row: image;
  grid-column: credit;
  align-self: end;
}

.menu-page {
  --_bg: var(--_background);
  grid-column: full;
  background-image: var(--_bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  min-height: 100dvh;
  display: grid;
  grid-template-rows: max-content max-content max-content;
  grid-template-columns: 0.5rem [content-start] 1fr [content-end] 0.5rem;
  padding-block: var(--page-space);
  row-gap: var(--space-lg);
}
@media (width > 1200px) {
  .menu-page {
    --_bg: var(--_background-lg);
  }
}
.menu-page .page-header {
  padding-inline: 1rem;
}
.menu-page h1 {
  grid-column: content;
  max-width: 600px;
  margin-inline: auto;
  color: var(--_text-color);
}
.menu-page-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: max-content;
  grid-column: content;
  width: min(500px, 100%);
  margin-inline: auto;
  height: fit-content;
  height: -moz-fit-content;
  gap: var(--space-xs);
}
.menu-page-grid.two-col {
  grid-template-columns: 1fr 1fr;
}
.menu-page-grid.two-col > :nth-child(1) {
  grid-column: 1/3;
  font: var(--font-h3);
  text-transform: uppercase;
  text-wrap: balance;
}
.menu-page-grid.two-col > :nth-child(6) {
  grid-column: 1/3;
  font: var(--font-h3);
  text-transform: uppercase;
  text-wrap: balance;
}
.menu-page-grid.two-col > :nth-child(even):where(:last-child) {
  grid-column: 1/3;
  font: var(--font-h3);
  text-transform: uppercase;
  text-wrap: balance;
}
.menu-page-grid.two-col > :not(:has(img)) {
  grid-column: 1/3;
  font: var(--font-h3);
  text-transform: uppercase;
  text-wrap: balance;
}

.page-header {
  grid-column: 2/3;
  display: grid;
  grid-template-columns: 1fr max-content 1fr;
  align-items: center;
  width: min(500px, 100%);
  margin-inline: auto;
}
.page-header img {
  grid-column: 2/3;
  aspect-ratio: 1;
  max-height: 120px;
}

.splash-page {
  --_bg: var(--_background);
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  background: var(--_bg);
  padding-inline: var(--page-padding);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (width > 1200px) {
  .splash-page {
    --_bg: var(--_background-lg, var(--_background));
  }
}
.splash-page-content {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 1rem;
}
.splash-page-content h1, .splash-page-content p {
  max-width: 35rem;
  color: var(--_text-color);
}
.splash-page-content h1 {
  line-height: 1.2;
}
.splash-page-content p {
  font: var(--font-lg);
  margin: 0;
}

.bottom-nav {
  position: fixed;
  bottom: 0;
  inset-inline: 0;
  margin-inline: auto;
  z-index: 200;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 500px;
  background: var(--primary-7);
  border-top-left-radius: 0.75em;
  border-top-right-radius: 0.75em;
  backdrop-filter: blur(3px);
  align-items: center;
  outline: 2px solid rgba(255, 255, 255, 0.2666666667);
}
.bottom-nav.one-link {
  grid-template-columns: 1fr;
}
.bottom-nav a {
  outline: none;
  border: none;
  background: transparent;
  padding: 1em 1.2em;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  align-items: center;
  font: var(--font-btn);
  text-transform: uppercase;
  color: #FFFFFF;
}

/*# sourceMappingURL=styles.css.map */
