@font-face {
  font-family: "Parisienne";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/parisienne.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Garamond;
  font-style: normal;
  font-weight: 400 800;
  src: url(fonts/garamond.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Garamond;
  font-style: italic;
  font-weight: 400 800;
  src: url(fonts/garamond-italic.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --bg-color: midnightblue;
  --card-color: white;
  --base-color: #2b2457;
  --accent-color: #b26895;
  font-family: Parisienne, cursive;
}

body {
  text-align: center;
  margin: 0;
}

ul {
  display: flex;
  justify-content: center;
  background: var(--bg-color);
  margin: 0 auto;
  padding: 0;
  list-style: '';
  width: 100vw;
  max-width: 40rem;
  container-type: inline-size;
}

li {
  width: 100cqw;
  border-radius: 12cqw;
  border: 5cqw solid var(--bg-color);
  background: linear-gradient(225deg, color-mix(in srgb, var(--card-color) 50%, transparent), var(--card-color) 40%) 0 0 / 100% 100% no-repeat,
    url(images/bg.webp) 50% 0 / cover no-repeat;
  background-origin: border-box, border-box;
  font-size: 5cqw;
  padding: 1em;
  box-sizing: border-box;
}

li:not(:first-of-type) {
  display: none;
}

h1 {
  color: var(--accent-color);
  margin: 0.5em 0;

  + p {
    margin: -.75em 0 -.25em;

    + p {
      margin-bottom: .5em;
    }
  }
}

h2 {
  margin: 0;
}

h3 + h3 {
  margin-top: -1em;
}

p {
  margin: .25em .5em;
  line-height: 1.22;

  &:has(small) {
    margin-block: .1em;
    line-height: 1.1;
  }
}

hr {
  border: none;
  background: linear-gradient(
    to right,
    currentColor calc(50% - 0.6em),
    transparent 0,
    transparent calc(50% + 0.6em),
    currentColor 0
  );
  background-origin: border-box;
  height: 0.55mm;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  margin: 1em 2em;
  color: var(--accent-color);

  &::before {
    content: "\2605";
  }
}

small {
  font-family: Garamond, 'Times New Roman', Times, serif;
  font-size: 70%;
}

@media print {
  @page {
    size: 29.7cm 21cm;
    margin: 0;
  }

  ul {
    max-width: none;
    background: none;
  }

  li {
    width: 9.9cm;
    height: 21cm;
    border: solid transparent;
    border-width: 5mm;
    border-radius: 0;
    font-size: 5mm;
    border-image: url(images/cut-corners.svg) 10;
  }

  li:not(:first-of-type) {
    display: block;
  }
}
