:root {
  --bg: #0b0d12;
  --fg: #f5f2ea;
  --accent: #e8b44a;
  --qr-size: clamp(140px, 26vh, 520px);
  --logo-width: clamp(280px, 42vw, 1200px);

  /* Palette pulled from the "Magic" cover art: deep teal, forest green,
     and the pale dawn-sky cream. */
  --magic-teal: #2f4a44;
  --magic-green: #3e5c44;
  --magic-cream: #f3e6d6;

  --qr-border-width: 6px;
}

@font-face {
  font-family: "Poppins";
  src: url("assets/fonts/Poppins/Poppins-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("assets/fonts/Poppins/Poppins-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

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

html, body {
  height: 100%;
  color: var(--fg);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  overflow: hidden;
  background: var(--bg);
  cursor: none;
}

/* Full-bleed photo with a scrim: the bottom darkens so the logo and QR
   stay legible, plus a gentle vignette around the edges. */
.stage {
  height: 100vh;
  background:
    linear-gradient(to top,
      rgba(4, 5, 9, 0.82) 0%,
      rgba(4, 5, 9, 0.45) 18%,
      rgba(4, 5, 9, 0.12) 38%,
      transparent 60%),
    radial-gradient(140% 110% at 50% 40%,
      transparent 60%,
      rgba(4, 5, 9, 0.45) 100%),
    url("assets/doug-mcarthur-landscape-3000x2000.jpg") center / cover no-repeat,
    var(--bg);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 5vh 4vw;
  gap: 4vw;
}

.name {
  font-size: 0;
}

/* The wordmark SVG is applied as a mask so light effects can play through
   the lettering itself. */
.name-logo {
  display: block;
  width: var(--logo-width);
  aspect-ratio: 5 / 1;
  -webkit-mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+IDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgd2lkdGg9IjEyMDAiIGhlaWdodD0iMjQwIiB2aWV3Qm94PSIwIDAgMTIwMCAyNDAiIHZlcnNpb249IjEuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+IDxnIGZpbGw9IiNmNWYyZWEiIHRyYW5zZm9ybT0ibWF0cml4KDIuNDUxMzIsMCwwLDIuNDUxMzIsLTM5Ljk5MjQsOTkuOTYwNCkiPiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg1MCwwLDAsNTAsNDQuMjM3OSwyNC45KSI+IDxwYXRoIGQ9Ik0wLjQyMiwtMC43NkwwLjAyOSwtMC43NkMwLjAyOSwtMC43NiAwLjAyNSwtMC41OTYgMC4wMjksLTAuNTk2QzAuMDgyLC0wLjU5NiAwLjA5NywtMC41NzUgMC4wOTcsLTAuNTAyTDAuMDk3LC0wLjI1OEMwLjA5NywtMC4xODMgMC4wODIsLTAuMTYyIDAuMDI5LC0wLjE2MkMwLjAyNSwtMC4xNjIgMC4wMjksLTAgMC4wMjksLTBMMC40MjIsLTBDMC43MTgsLTAgMC43OTcsLTAuMTYzIDAuNzk3LC0wLjM4QzAuNzk3LC0wLjU5NiAwLjcxOCwtMC43NiAwLjQyMiwtMC43NlpNMC41NDUsLTAuMzYzQzAuNTQ1LC0wLjI1MiAwLjUxOCwtMC4xNjIgMC40MjIsLTAuMTYyTDAuMzIzLC0wLjE2MkwwLjMyMywtMC41OThMMC40MjIsLTAuNTk4QzAuNTE4LC0wLjU5OCAwLjU0NSwtMC41MDYgMC41NDUsLTAuMzk2TDAuNTQ1LC0wLjM2M1oiIHN0eWxlPSJmaWxsLXJ1bGU6bm9uemVybzsiPjwvcGF0aD4gPC9nPiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg1MCwwLDAsNTAsODQuNTM3OSwyNC45KSI+IDxwYXRoIGQ9Ik0wLjY3NiwtMC4zMzJDMC42NzYsLTAuNTI2IDAuNjA1LC0wLjY4MiAwLjM0MywtMC42ODJDMC4wODIsLTAuNjgyIDAuMDExLC0wLjUyNiAwLjAxMSwtMC4zMzJDMC4wMTEsLTAuMTM5IDAuMDgyLDAuMDE4IDAuMzQzLDAuMDE4QzAuNjA1LDAuMDE4IDAuNjc2LC0wLjEzOSAwLjY3NiwtMC4zMzJaTTAuMzQzLC0wLjUxMUMwLjQyOCwtMC41MTEgMC40NTEsLTAuNDMxIDAuNDUxLC0wLjMzMkMwLjQ1MSwtMC4yMzMgMC40MjgsLTAuMTUyIDAuMzQzLC0wLjE1MkMwLjI1OCwtMC4xNTIgMC4yMzUsLTAuMjMzIDAuMjM1LC0wLjMzMkMwLjIzNSwtMC40MzEgMC4yNTgsLTAuNTExIDAuMzQzLC0wLjUxMVoiIHN0eWxlPSJmaWxsLXJ1bGU6bm9uemVybzsiPjwvcGF0aD4gPC9nPiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg1MCwwLDAsNTAsMTE3LjgzOCwyNC45KSI+IDxwYXRoIGQ9Ik0wLjc3NCwtMC4xNTdDMC43MjEsLTAuMTU3IDAuNzA2LC0wLjE3OSAwLjcwNiwtMC4yNTNMMC43MDYsLTAuNjUzTDAuNjc3LC0wLjY2OEwwLjQzMywtMC42NDlDMC40MzMsLTAuNjQ5IDAuNDMsLTAuNTA2IDAuNDMzLC0wLjUwNkMwLjQ0MiwtMC41MDYgMC40NDksLTAuNTA2IDAuNDU2LC0wLjUwNUMwLjQ4NiwtMC40OTkgMC41MDUsLTAuNDcyIDAuNTA1LC0wLjMzMkMwLjUwNSwtMC4yMzMgMC40ODEsLTAuMTUyIDAuMzk0LC0wLjE1MkMwLjMwNiwtMC4xNTIgMC4yODIsLTAuMjMzIDAuMjgyLC0wLjMzMkwwLjI4MiwtMC42NTNMMC4yNTMsLTAuNjY4TDAuMDEyLC0wLjY0OUMwLjAxMiwtMC42NDkgMC4wMSwtMC41MDYgMC4wMTIsLTAuNTA2QzAuMDY1LC0wLjUwNiAwLjA3NiwtMC40ODUgMC4wNzYsLTAuNDFDMC4wNzYsLTAuMjYzIDAuMDE5LDAuMDE4IDAuMjk1LDAuMDE4QzAuNDkzLDAuMDE4IDAuNTA5LC0wLjE1NyAwLjUwOSwtMC4xOTFMMC41MiwtMC4xOTFMMC41MjEsMC4wMDVMMC43NzQsMC4wMDVDMC43NzQsMC4wMDUgMC43NzgsLTAuMTU3IDAuNzc0LC0wLjE1N1oiIHN0eWxlPSJmaWxsLXJ1bGU6bm9uemVybzsiPjwvcGF0aD4gPC9nPiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg1MCwwLDAsNTAsMTU2LjE4OCwyNC45KSI+IDxwYXRoIGQ9Ik0wLjQ5MiwtMC4wMTZDMC40LC0wLjAxNiAwLjI2NiwwLjAyNCAwLjE4OCwwLjAyNEMwLjA4OSwwLjAyNCAwLjA5NSwtMC4wNTkgMC4xNjQsLTAuMDkxQzAuMjA5LC0wLjA2OCAwLjI2NiwtMC4wNTUgMC4zNDEsLTAuMDU1QzAuNTg0LC0wLjA1NSAwLjY0OSwtMC4xOTMgMC42NDksLTAuMzY1QzAuNjQ5LC0wLjQ4IDAuNjE5LC0wLjU4MSAwLjUyNCwtMC42MzRDMC41MzUsLTAuNjQzIDAuNTUsLTAuNjQ4IDAuNTY4LC0wLjY0OEMwLjYwOCwtMC42NDggMC42MywtMC42MjIgMC42NCwtMC41NzhMMC43MjIsLTAuNTc4TDAuNzIyLC0wLjgwM0wwLjY3MSwtMC44MDNDMC41MjcsLTAuODAzIDAuNTA1LC0wLjY5NyAwLjUwMiwtMC42NDZDMC40NiwtMC42NjMgMC40MDcsLTAuNjcyIDAuMzQxLC0wLjY3MkMwLjA5NywtMC42NzIgMC4wMzEsLTAuNTM0IDAuMDMxLC0wLjM2NEMwLjAzMSwtMC4yNjkgMC4wNTIsLTAuMTg0IDAuMTEzLC0wLjEyN0MtMC4wNDEsLTAuMDU5IC0wLjA1OSwwLjIzMiAwLjE5MiwwLjIzMkMwLjI3NywwLjIzMiAwLjQsMC4xOTggMC40ODgsMC4xOThDMC41NTgsMC4xOTggMC41NywwLjIwOSAwLjU3LDAuMjE4QzAuNTcsMC4yMjMgMC41NjksMC4yMjcgMC41NjYsMC4yM0wwLjcwNywwLjIzQzAuNzE1LDAuMjExIDAuNzIyLDAuMTg2IDAuNzIyLDAuMTU3QzAuNzIyLDAuMDQzIDAuNjIsLTAuMDE2IDAuNDkyLC0wLjAxNkwwLjQ5MiwtMC4wMTZaTTAuMzQzLC0wLjUyMkMwLjQxOSwtMC41MjIgMC40MzksLTAuNDUxIDAuNDM5LC0wLjM2NEMwLjQzOSwtMC4yNzcgMC40MTksLTAuMjA2IDAuMzQzLC0wLjIwNkMwLjI2OCwtMC4yMDYgMC4yNDcsLTAuMjc3IDAuMjQ3LC0wLjM2NEMwLjI0NywtMC40NTEgMC4yNjgsLTAuNTIyIDAuMzQzLC0wLjUyMkwwLjM0MywtMC41MjJaIiBzdHlsZT0iZmlsbC1ydWxlOm5vbnplcm87Ij48L3BhdGg+IDwvZz4gPGcgdHJhbnNmb3JtPSJtYXRyaXgoNTAsMCwwLDUwLDIwNS41MzgsMjQuOSkiPiA8cGF0aCBkPSJNMC45NDYsLTAuNTk2QzAuOTQ5LC0wLjU5NiAwLjk0NiwtMC43NiAwLjk0NiwtMC43NkwwLjY0LC0wLjc2TDAuNDk2LC0wLjM3NEwwLjM3LC0wLjc2TDAuMDI5LC0wLjc2QzAuMDI5LC0wLjc2IDAuMDI0LC0wLjU5NiAwLjAyOSwtMC41OTZDMC4wODIsLTAuNTk2IDAuMDk3LC0wLjU3NSAwLjA5NywtMC41MDJMMC4wOTcsLTAuMjU4QzAuMDk3LC0wLjE4MyAwLjA4MiwtMC4xNjIgMC4wMjksLTAuMTYyQzAuMDI0LC0wLjE2MiAwLjAyOSwtMCAwLjAyOSwtMEwwLjI4OSwtMEMwLjI4OSwtMCAwLjI5NCwtMC4xNjIgMC4yODksLTAuMTYyQzAuMjM2LC0wLjE2MiAwLjIyMSwtMC4xODMgMC4yMjEsLTAuMjU4TDAuMjIxLC0wLjQzOEwwLjM5NywtMEwwLjQ3NiwtMEMwLjQ3NiwtMCAwLjU4NiwtMC4yNzIgMC42NTMsLTAuNDM3TDAuNjUzLC0wLjI1OEMwLjY1MywtMC4xODMgMC42MzcsLTAuMTYyIDAuNTg0LC0wLjE2MkMwLjU4MSwtMC4xNjIgMC41ODQsLTAgMC41ODQsLTBMMC45NDYsLTBDMC45NDYsLTAgMC45NDksLTAuMTYyIDAuOTQ2LC0wLjE2MkMwLjg5MywtMC4xNjIgMC44NzcsLTAuMTgzIDAuODc3LC0wLjI1OEwwLjg3NywtMC41MDJDMC44NzcsLTAuNTc1IDAuODkzLC0wLjU5NiAwLjk0NiwtMC41OTZaIiBzdHlsZT0iZmlsbC1ydWxlOm5vbnplcm87Ij48L3BhdGg+IDwvZz4gPGcgdHJhbnNmb3JtPSJtYXRyaXgoNDAuNzk0MywwLDAsNDAuNzk0MywyNTMuMjM4LDI0LjkpIj4gPHBhdGggZD0iTTAuNTA4LC0wLjIzNEMwLjUwMiwtMC4yMTcgMC40ODEsLTAuMTU2IDAuMzgyLC0wLjE1NkMwLjI2OSwtMC4xNTYgMC4yMzgsLTAuMjM2IDAuMjM4LC0wLjMzNkMwLjIzOCwtMC40MzQgMC4yNiwtMC41MTUgMC4zNDQsLTAuNTE1QzAuNDI4LC0wLjUxNSAwLjQ1LC0wLjQzNCAwLjQ1LC0wLjMzNkwwLjY2NiwtMC4zMzVMMC42NjYsLTAuNjU1TDAuNjM3LC0wLjY3MkwwLjQ2MSwtMC42NTdMMC40NjEsLTAuNDc4TDAuNDUxLC0wLjQ3OEMwLjQ1MSwtMC40NzggMC40ODEsLTAuNjg1IDAuMjY0LC0wLjY4NUMwLjEyNywtMC42ODUgMC4wMTEsLTAuNTcgMC4wMTEsLTAuMzM2QzAuMDExLC0wLjE0MyAwLjA4MiwwLjAxNCAwLjM0NCwwLjAxNEMwLjU3MSwwLjAxNCAwLjY0MywtMC4xIDAuNjcsLTAuMjM0QzAuNjcsLTAuMjM0IDAuNTEsLTAuMjM4IDAuNTA4LC0wLjIzNFoiIHN0eWxlPSJmaWxsLXJ1bGU6bm9uemVybzsiPjwvcGF0aD4gPC9nPiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg1MCwwLDAsNTAsMjgwLjE2MiwyNC45KSI+IDxwYXRoIGQ9Ik0wLjgsLTAuMTU3QzAuNzQ4LC0wLjE1NyAwLjcyNiwtMC4xNzkgMC43MDYsLTAuMjUzQzAuNzA2LC0wLjI1MyAwLjU4NiwtMC42OCAwLjU2NCwtMC43NTZMMC4xNTIsLTAuNzU2QzAuMTUyLC0wLjc1NiAwLjE0OSwtMC41OTQgMC4xNTIsLTAuNTk0QzAuMjA1LC0wLjU5NCAwLjIxNCwtMC41NzIgMC4xOTMsLTAuNDk4TDAuMTI1LC0wLjI1M0MwLjEwNCwtMC4xNzkgMC4wODIsLTAuMTU3IDAuMDI5LC0wLjE1N0MwLjAyNSwtMC4xNTcgMC4wMjksMC4wMDUgMC4wMjksMC4wMDVMMC4zMTMsMC4wMDVDMC4zMTMsMC4wMDUgMC4zMTgsLTAuMTU3IDAuMzEzLC0wLjE1N0MwLjI2LC0wLjE1NyAwLjI1MSwtMC4xNzkgMC4yNzIsLTAuMjUzQzAuMjcyLC0wLjI1MyAwLjI3NCwtMC4yNTcgMC4yNzUsLTAuMjYzTDAuNDc4LC0wLjI2M0wwLjQ4LC0wLjI1M0MwLjUwMiwtMC4xNzkgMC40OTIsLTAuMTU3IDAuNDM5LC0wLjE1N0MwLjQzNiwtMC4xNTcgMC40MzksMC4wMDUgMC40MzksMC4wMDVMMC44LDAuMDA1QzAuOCwwLjAwNSAwLjgwNCwtMC4xNTcgMC44LC0wLjE1N1pNMC4zLC0wLjM1MkMwLjMxNCwtMC40MDIgMC4zMzEsLTAuNDYxIDAuMzQxLC0wLjQ5OEMwLjM1MiwtMC41MzQgMC4zNjIsLTAuNTc0IDAuMzc3LC0wLjU3NEMwLjM5LC0wLjU3NCAwLjQwMiwtMC41MzQgMC40MTIsLTAuNDk4TDAuNDUyLC0wLjM1MkwwLjMsLTAuMzUyWiIgc3R5bGU9ImZpbGwtcnVsZTpub256ZXJvOyI+PC9wYXRoPiA8L2c+IDxnIHRyYW5zZm9ybT0ibWF0cml4KDUwLDAsMCw1MCwzMjAuNjEyLDI0LjkpIj4gPHBhdGggZD0iTTAuMjkzLC0wLjQ3OEwwLjI4MiwtMC40NzhMMC4yODIsLTAuNjU2TDAuMjUzLC0wLjY3MkwwLjAyOCwtMC42NTNDMC4wMjgsLTAuNjUzIDAuMDI1LC0wLjUxIDAuMDI5LC0wLjUxQzAuMDgyLC0wLjUxIDAuMDk3LC0wLjQ4OCAwLjA5NywtMC40MTRMMC4wOTcsLTAuMjU4QzAuMDk3LC0wLjE4MyAwLjA4MiwtMC4xNjIgMC4wMjksLTAuMTYyQzAuMDI1LC0wLjE2MiAwLjAyOSwtMCAwLjAyOSwtMEwwLjM2OCwtMEMwLjM2OCwtMCAwLjM3MiwtMC4xNjIgMC4zNjgsLTAuMTYyQzAuMzYxLC0wLjE2MiAwLjM1MywtMC4xNjIgMC4zNDcsLTAuMTYzQzAuMzE2LC0wLjE2OSAwLjI5NiwtMC4xOTcgMC4yOTYsLTAuMzM3QzAuMjk2LC0wLjQzNCAwLjMxNiwtMC41MDggMC4zODgsLTAuNTA4QzAuNDM2LC0wLjUwOCAwLjQ2LC0wLjQ3NiAwLjQ3LC0wLjQyN0wwLjU2NSwtMC40MjdMMC41NjUsLTAuNjg1TDAuNTA2LC0wLjY4NUMwLjMxLC0wLjY4NSAwLjI5MywtMC41MTEgMC4yOTMsLTAuNDc4WiIgc3R5bGU9ImZpbGwtcnVsZTpub256ZXJvOyI+PC9wYXRoPiA8L2c+IDxnIHRyYW5zZm9ybT0ibWF0cml4KDUwLDAsMCw1MCwzNDkuMzYyLDI0LjkpIj4gPHBhdGggZD0iTTAuMzM3LC0wLjE2QzAuMjg4LC0wLjE2IDAuMjc1LC0wLjE5OCAwLjI3NSwtMC4yNjNMMC4yNzUsLTAuNDE0QzAuMjc1LC0wLjQ4OCAwLjI4OSwtMC41MSAwLjM1MiwtMC41MUwwLjQwNywtMC41MUMwLjQxLC0wLjUxIDAuNDA3LC0wLjY1MyAwLjQwNywtMC42NTNMMC4yNzUsLTAuNjUzTDAuMjc1LC0wLjgzOEwwLjIwNSwtMC44NzdDMC4yMDUsLTAuODc3IDAuMTY5LC0wLjY1MyAwLjAwMiwtMC42NTNDMC4wMDIsLTAuNjUzIC0wLjAwMSwtMC41MSAwLjAwMiwtMC41MUMwLjA1NSwtMC41MSAwLjA2NiwtMC40ODggMC4wNjYsLTAuNDE0QzAuMDY2LC0wLjI2NiAwLjAwOCwwLjAxNCAwLjI2NiwwLjAxNEMwLjM4LDAuMDE0IDAuNDQ5LC0wLjA3MiAwLjQ1NCwtMC4xODJMMC4zOTYsLTAuMjAzQzAuMzk2LC0wLjIwMyAwLjM4NSwtMC4xNiAwLjMzNywtMC4xNloiIHN0eWxlPSJmaWxsLXJ1bGU6bm9uemVybzsiPjwvcGF0aD4gPC9nPiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg1MCwwLDAsNTAsMzcwLjc2MiwyNC45KSI+IDxwYXRoIGQ9Ik0wLjc5LC0wLjE2MkMwLjczNiwtMC4xNjIgMC43MjYsLTAuMTgzIDAuNzI2LC0wLjI1OEMwLjcyNiwtMC40MDQgMC43ODIsLTAuNjg1IDAuNTA2LC0wLjY4NUMwLjMwOCwtMC42ODUgMC4yOTMsLTAuNTExIDAuMjkzLC0wLjQ3OEwwLjI4MiwtMC40NzhMMC4zLC0wLjg4NkwwLjI3MSwtMC45MDFMMC4wMjgsLTAuODgyQzAuMDI4LC0wLjg4MiAwLjAyNSwtMC43MzkgMC4wMjgsLTAuNzM5QzAuMDgyLC0wLjczOSAwLjA5NiwtMC43MTggMC4wOTYsLTAuNjQzTDAuMDk2LC0wLjI1OEMwLjA5NiwtMC4xODMgMC4wODIsLTAuMTYyIDAuMDI4LC0wLjE2MkMwLjAyNSwtMC4xNjIgMC4wMjgsLTAgMC4wMjgsLTBMMC4zNjgsLTBDMC4zNjgsLTAgMC4zNzIsLTAuMTYyIDAuMzY4LC0wLjE2MkMwLjM2LC0wLjE2MiAwLjM1MywtMC4xNjIgMC4zNDcsLTAuMTYzQzAuMzE2LC0wLjE2OSAwLjI5NiwtMC4xOTEgMC4yOTYsLTAuMzM3QzAuMjk2LC0wLjQzNCAwLjMyLC0wLjUxNSAwLjQwOCwtMC41MTVDMC40OTYsLTAuNTE1IDAuNTIsLTAuNDM0IDAuNTIsLTAuMzM3QzAuNTIsLTAuMTg4IDAuNTE3LC0wLjE2MiAwLjQ0OSwtMC4xNjJDMC40NDUsLTAuMTYyIDAuNDQ5LC0wIDAuNDQ5LC0wTDAuNzksLTBDMC43OSwtMCAwLjc5MywtMC4xNjIgMC43OSwtMC4xNjJaIiBzdHlsZT0iZmlsbC1ydWxlOm5vbnplcm87Ij48L3BhdGg+IDwvZz4gPGcgdHJhbnNmb3JtPSJtYXRyaXgoNTAsMCwwLDUwLDQwOS4xNjIsMjQuOSkiPiA8cGF0aCBkPSJNMC43NzQsLTAuMTU3QzAuNzIxLC0wLjE1NyAwLjcwNiwtMC4xNzkgMC43MDYsLTAuMjUzTDAuNzA2LC0wLjY1M0wwLjY3NywtMC42NjhMMC40MzMsLTAuNjQ5QzAuNDMzLC0wLjY0OSAwLjQzLC0wLjUwNiAwLjQzMywtMC41MDZDMC40NDIsLTAuNTA2IDAuNDQ5LC0wLjUwNiAwLjQ1NiwtMC41MDVDMC40ODYsLTAuNDk5IDAuNTA1LC0wLjQ3MiAwLjUwNSwtMC4zMzJDMC41MDUsLTAuMjMzIDAuNDgxLC0wLjE1MiAwLjM5NCwtMC4xNTJDMC4zMDYsLTAuMTUyIDAuMjgyLC0wLjIzMyAwLjI4MiwtMC4zMzJMMC4yODIsLTAuNjUzTDAuMjUzLC0wLjY2OEwwLjAxMiwtMC42NDlDMC4wMTIsLTAuNjQ5IDAuMDEsLTAuNTA2IDAuMDEyLC0wLjUwNkMwLjA2NSwtMC41MDYgMC4wNzYsLTAuNDg1IDAuMDc2LC0wLjQxQzAuMDc2LC0wLjI2MyAwLjAxOSwwLjAxOCAwLjI5NSwwLjAxOEMwLjQ5MywwLjAxOCAwLjUwOSwtMC4xNTcgMC41MDksLTAuMTkxTDAuNTIsLTAuMTkxTDAuNTIxLDAuMDA1TDAuNzc0LDAuMDA1QzAuNzc0LDAuMDA1IDAuNzc4LC0wLjE1NyAwLjc3NCwtMC4xNTdaIiBzdHlsZT0iZmlsbC1ydWxlOm5vbnplcm87Ij48L3BhdGg+IDwvZz4gPGcgdHJhbnNmb3JtPSJtYXRyaXgoNTAsMCwwLDUwLDQ0OC4zMTIsMjQuOSkiPiA8cGF0aCBkPSJNMC4yOTMsLTAuNDc4TDAuMjgyLC0wLjQ3OEwwLjI4MiwtMC42NTZMMC4yNTMsLTAuNjcyTDAuMDI4LC0wLjY1M0MwLjAyOCwtMC42NTMgMC4wMjUsLTAuNTEgMC4wMjksLTAuNTFDMC4wODIsLTAuNTEgMC4wOTcsLTAuNDg4IDAuMDk3LC0wLjQxNEwwLjA5NywtMC4yNThDMC4wOTcsLTAuMTgzIDAuMDgyLC0wLjE2MiAwLjAyOSwtMC4xNjJDMC4wMjUsLTAuMTYyIDAuMDI5LC0wIDAuMDI5LC0wTDAuMzY4LC0wQzAuMzY4LC0wIDAuMzcyLC0wLjE2MiAwLjM2OCwtMC4xNjJDMC4zNjEsLTAuMTYyIDAuMzUzLC0wLjE2MiAwLjM0NywtMC4xNjNDMC4zMTYsLTAuMTY5IDAuMjk2LC0wLjE5NyAwLjI5NiwtMC4zMzdDMC4yOTYsLTAuNDM0IDAuMzE2LC0wLjUwOCAwLjM4OCwtMC41MDhDMC40MzYsLTAuNTA4IDAuNDYsLTAuNDc2IDAuNDcsLTAuNDI3TDAuNTY1LC0wLjQyN0wwLjU2NSwtMC42ODVMMC41MDYsLTAuNjg1QzAuMzEsLTAuNjg1IDAuMjkzLC0wLjUxMSAwLjI5MywtMC40NzhaIiBzdHlsZT0iZmlsbC1ydWxlOm5vbnplcm87Ij48L3BhdGg+IDwvZz4gPC9nPiA8L3N2Zz4K") center / contain no-repeat;
  mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+IDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgd2lkdGg9IjEyMDAiIGhlaWdodD0iMjQwIiB2aWV3Qm94PSIwIDAgMTIwMCAyNDAiIHZlcnNpb249IjEuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+IDxnIGZpbGw9IiNmNWYyZWEiIHRyYW5zZm9ybT0ibWF0cml4KDIuNDUxMzIsMCwwLDIuNDUxMzIsLTM5Ljk5MjQsOTkuOTYwNCkiPiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg1MCwwLDAsNTAsNDQuMjM3OSwyNC45KSI+IDxwYXRoIGQ9Ik0wLjQyMiwtMC43NkwwLjAyOSwtMC43NkMwLjAyOSwtMC43NiAwLjAyNSwtMC41OTYgMC4wMjksLTAuNTk2QzAuMDgyLC0wLjU5NiAwLjA5NywtMC41NzUgMC4wOTcsLTAuNTAyTDAuMDk3LC0wLjI1OEMwLjA5NywtMC4xODMgMC4wODIsLTAuMTYyIDAuMDI5LC0wLjE2MkMwLjAyNSwtMC4xNjIgMC4wMjksLTAgMC4wMjksLTBMMC40MjIsLTBDMC43MTgsLTAgMC43OTcsLTAuMTYzIDAuNzk3LC0wLjM4QzAuNzk3LC0wLjU5NiAwLjcxOCwtMC43NiAwLjQyMiwtMC43NlpNMC41NDUsLTAuMzYzQzAuNTQ1LC0wLjI1MiAwLjUxOCwtMC4xNjIgMC40MjIsLTAuMTYyTDAuMzIzLC0wLjE2MkwwLjMyMywtMC41OThMMC40MjIsLTAuNTk4QzAuNTE4LC0wLjU5OCAwLjU0NSwtMC41MDYgMC41NDUsLTAuMzk2TDAuNTQ1LC0wLjM2M1oiIHN0eWxlPSJmaWxsLXJ1bGU6bm9uemVybzsiPjwvcGF0aD4gPC9nPiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg1MCwwLDAsNTAsODQuNTM3OSwyNC45KSI+IDxwYXRoIGQ9Ik0wLjY3NiwtMC4zMzJDMC42NzYsLTAuNTI2IDAuNjA1LC0wLjY4MiAwLjM0MywtMC42ODJDMC4wODIsLTAuNjgyIDAuMDExLC0wLjUyNiAwLjAxMSwtMC4zMzJDMC4wMTEsLTAuMTM5IDAuMDgyLDAuMDE4IDAuMzQzLDAuMDE4QzAuNjA1LDAuMDE4IDAuNjc2LC0wLjEzOSAwLjY3NiwtMC4zMzJaTTAuMzQzLC0wLjUxMUMwLjQyOCwtMC41MTEgMC40NTEsLTAuNDMxIDAuNDUxLC0wLjMzMkMwLjQ1MSwtMC4yMzMgMC40MjgsLTAuMTUyIDAuMzQzLC0wLjE1MkMwLjI1OCwtMC4xNTIgMC4yMzUsLTAuMjMzIDAuMjM1LC0wLjMzMkMwLjIzNSwtMC40MzEgMC4yNTgsLTAuNTExIDAuMzQzLC0wLjUxMVoiIHN0eWxlPSJmaWxsLXJ1bGU6bm9uemVybzsiPjwvcGF0aD4gPC9nPiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg1MCwwLDAsNTAsMTE3LjgzOCwyNC45KSI+IDxwYXRoIGQ9Ik0wLjc3NCwtMC4xNTdDMC43MjEsLTAuMTU3IDAuNzA2LC0wLjE3OSAwLjcwNiwtMC4yNTNMMC43MDYsLTAuNjUzTDAuNjc3LC0wLjY2OEwwLjQzMywtMC42NDlDMC40MzMsLTAuNjQ5IDAuNDMsLTAuNTA2IDAuNDMzLC0wLjUwNkMwLjQ0MiwtMC41MDYgMC40NDksLTAuNTA2IDAuNDU2LC0wLjUwNUMwLjQ4NiwtMC40OTkgMC41MDUsLTAuNDcyIDAuNTA1LC0wLjMzMkMwLjUwNSwtMC4yMzMgMC40ODEsLTAuMTUyIDAuMzk0LC0wLjE1MkMwLjMwNiwtMC4xNTIgMC4yODIsLTAuMjMzIDAuMjgyLC0wLjMzMkwwLjI4MiwtMC42NTNMMC4yNTMsLTAuNjY4TDAuMDEyLC0wLjY0OUMwLjAxMiwtMC42NDkgMC4wMSwtMC41MDYgMC4wMTIsLTAuNTA2QzAuMDY1LC0wLjUwNiAwLjA3NiwtMC40ODUgMC4wNzYsLTAuNDFDMC4wNzYsLTAuMjYzIDAuMDE5LDAuMDE4IDAuMjk1LDAuMDE4QzAuNDkzLDAuMDE4IDAuNTA5LC0wLjE1NyAwLjUwOSwtMC4xOTFMMC41MiwtMC4xOTFMMC41MjEsMC4wMDVMMC43NzQsMC4wMDVDMC43NzQsMC4wMDUgMC43NzgsLTAuMTU3IDAuNzc0LC0wLjE1N1oiIHN0eWxlPSJmaWxsLXJ1bGU6bm9uemVybzsiPjwvcGF0aD4gPC9nPiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg1MCwwLDAsNTAsMTU2LjE4OCwyNC45KSI+IDxwYXRoIGQ9Ik0wLjQ5MiwtMC4wMTZDMC40LC0wLjAxNiAwLjI2NiwwLjAyNCAwLjE4OCwwLjAyNEMwLjA4OSwwLjAyNCAwLjA5NSwtMC4wNTkgMC4xNjQsLTAuMDkxQzAuMjA5LC0wLjA2OCAwLjI2NiwtMC4wNTUgMC4zNDEsLTAuMDU1QzAuNTg0LC0wLjA1NSAwLjY0OSwtMC4xOTMgMC42NDksLTAuMzY1QzAuNjQ5LC0wLjQ4IDAuNjE5LC0wLjU4MSAwLjUyNCwtMC42MzRDMC41MzUsLTAuNjQzIDAuNTUsLTAuNjQ4IDAuNTY4LC0wLjY0OEMwLjYwOCwtMC42NDggMC42MywtMC42MjIgMC42NCwtMC41NzhMMC43MjIsLTAuNTc4TDAuNzIyLC0wLjgwM0wwLjY3MSwtMC44MDNDMC41MjcsLTAuODAzIDAuNTA1LC0wLjY5NyAwLjUwMiwtMC42NDZDMC40NiwtMC42NjMgMC40MDcsLTAuNjcyIDAuMzQxLC0wLjY3MkMwLjA5NywtMC42NzIgMC4wMzEsLTAuNTM0IDAuMDMxLC0wLjM2NEMwLjAzMSwtMC4yNjkgMC4wNTIsLTAuMTg0IDAuMTEzLC0wLjEyN0MtMC4wNDEsLTAuMDU5IC0wLjA1OSwwLjIzMiAwLjE5MiwwLjIzMkMwLjI3NywwLjIzMiAwLjQsMC4xOTggMC40ODgsMC4xOThDMC41NTgsMC4xOTggMC41NywwLjIwOSAwLjU3LDAuMjE4QzAuNTcsMC4yMjMgMC41NjksMC4yMjcgMC41NjYsMC4yM0wwLjcwNywwLjIzQzAuNzE1LDAuMjExIDAuNzIyLDAuMTg2IDAuNzIyLDAuMTU3QzAuNzIyLDAuMDQzIDAuNjIsLTAuMDE2IDAuNDkyLC0wLjAxNkwwLjQ5MiwtMC4wMTZaTTAuMzQzLC0wLjUyMkMwLjQxOSwtMC41MjIgMC40MzksLTAuNDUxIDAuNDM5LC0wLjM2NEMwLjQzOSwtMC4yNzcgMC40MTksLTAuMjA2IDAuMzQzLC0wLjIwNkMwLjI2OCwtMC4yMDYgMC4yNDcsLTAuMjc3IDAuMjQ3LC0wLjM2NEMwLjI0NywtMC40NTEgMC4yNjgsLTAuNTIyIDAuMzQzLC0wLjUyMkwwLjM0MywtMC41MjJaIiBzdHlsZT0iZmlsbC1ydWxlOm5vbnplcm87Ij48L3BhdGg+IDwvZz4gPGcgdHJhbnNmb3JtPSJtYXRyaXgoNTAsMCwwLDUwLDIwNS41MzgsMjQuOSkiPiA8cGF0aCBkPSJNMC45NDYsLTAuNTk2QzAuOTQ5LC0wLjU5NiAwLjk0NiwtMC43NiAwLjk0NiwtMC43NkwwLjY0LC0wLjc2TDAuNDk2LC0wLjM3NEwwLjM3LC0wLjc2TDAuMDI5LC0wLjc2QzAuMDI5LC0wLjc2IDAuMDI0LC0wLjU5NiAwLjAyOSwtMC41OTZDMC4wODIsLTAuNTk2IDAuMDk3LC0wLjU3NSAwLjA5NywtMC41MDJMMC4wOTcsLTAuMjU4QzAuMDk3LC0wLjE4MyAwLjA4MiwtMC4xNjIgMC4wMjksLTAuMTYyQzAuMDI0LC0wLjE2MiAwLjAyOSwtMCAwLjAyOSwtMEwwLjI4OSwtMEMwLjI4OSwtMCAwLjI5NCwtMC4xNjIgMC4yODksLTAuMTYyQzAuMjM2LC0wLjE2MiAwLjIyMSwtMC4xODMgMC4yMjEsLTAuMjU4TDAuMjIxLC0wLjQzOEwwLjM5NywtMEwwLjQ3NiwtMEMwLjQ3NiwtMCAwLjU4NiwtMC4yNzIgMC42NTMsLTAuNDM3TDAuNjUzLC0wLjI1OEMwLjY1MywtMC4xODMgMC42MzcsLTAuMTYyIDAuNTg0LC0wLjE2MkMwLjU4MSwtMC4xNjIgMC41ODQsLTAgMC41ODQsLTBMMC45NDYsLTBDMC45NDYsLTAgMC45NDksLTAuMTYyIDAuOTQ2LC0wLjE2MkMwLjg5MywtMC4xNjIgMC44NzcsLTAuMTgzIDAuODc3LC0wLjI1OEwwLjg3NywtMC41MDJDMC44NzcsLTAuNTc1IDAuODkzLC0wLjU5NiAwLjk0NiwtMC41OTZaIiBzdHlsZT0iZmlsbC1ydWxlOm5vbnplcm87Ij48L3BhdGg+IDwvZz4gPGcgdHJhbnNmb3JtPSJtYXRyaXgoNDAuNzk0MywwLDAsNDAuNzk0MywyNTMuMjM4LDI0LjkpIj4gPHBhdGggZD0iTTAuNTA4LC0wLjIzNEMwLjUwMiwtMC4yMTcgMC40ODEsLTAuMTU2IDAuMzgyLC0wLjE1NkMwLjI2OSwtMC4xNTYgMC4yMzgsLTAuMjM2IDAuMjM4LC0wLjMzNkMwLjIzOCwtMC40MzQgMC4yNiwtMC41MTUgMC4zNDQsLTAuNTE1QzAuNDI4LC0wLjUxNSAwLjQ1LC0wLjQzNCAwLjQ1LC0wLjMzNkwwLjY2NiwtMC4zMzVMMC42NjYsLTAuNjU1TDAuNjM3LC0wLjY3MkwwLjQ2MSwtMC42NTdMMC40NjEsLTAuNDc4TDAuNDUxLC0wLjQ3OEMwLjQ1MSwtMC40NzggMC40ODEsLTAuNjg1IDAuMjY0LC0wLjY4NUMwLjEyNywtMC42ODUgMC4wMTEsLTAuNTcgMC4wMTEsLTAuMzM2QzAuMDExLC0wLjE0MyAwLjA4MiwwLjAxNCAwLjM0NCwwLjAxNEMwLjU3MSwwLjAxNCAwLjY0MywtMC4xIDAuNjcsLTAuMjM0QzAuNjcsLTAuMjM0IDAuNTEsLTAuMjM4IDAuNTA4LC0wLjIzNFoiIHN0eWxlPSJmaWxsLXJ1bGU6bm9uemVybzsiPjwvcGF0aD4gPC9nPiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg1MCwwLDAsNTAsMjgwLjE2MiwyNC45KSI+IDxwYXRoIGQ9Ik0wLjgsLTAuMTU3QzAuNzQ4LC0wLjE1NyAwLjcyNiwtMC4xNzkgMC43MDYsLTAuMjUzQzAuNzA2LC0wLjI1MyAwLjU4NiwtMC42OCAwLjU2NCwtMC43NTZMMC4xNTIsLTAuNzU2QzAuMTUyLC0wLjc1NiAwLjE0OSwtMC41OTQgMC4xNTIsLTAuNTk0QzAuMjA1LC0wLjU5NCAwLjIxNCwtMC41NzIgMC4xOTMsLTAuNDk4TDAuMTI1LC0wLjI1M0MwLjEwNCwtMC4xNzkgMC4wODIsLTAuMTU3IDAuMDI5LC0wLjE1N0MwLjAyNSwtMC4xNTcgMC4wMjksMC4wMDUgMC4wMjksMC4wMDVMMC4zMTMsMC4wMDVDMC4zMTMsMC4wMDUgMC4zMTgsLTAuMTU3IDAuMzEzLC0wLjE1N0MwLjI2LC0wLjE1NyAwLjI1MSwtMC4xNzkgMC4yNzIsLTAuMjUzQzAuMjcyLC0wLjI1MyAwLjI3NCwtMC4yNTcgMC4yNzUsLTAuMjYzTDAuNDc4LC0wLjI2M0wwLjQ4LC0wLjI1M0MwLjUwMiwtMC4xNzkgMC40OTIsLTAuMTU3IDAuNDM5LC0wLjE1N0MwLjQzNiwtMC4xNTcgMC40MzksMC4wMDUgMC40MzksMC4wMDVMMC44LDAuMDA1QzAuOCwwLjAwNSAwLjgwNCwtMC4xNTcgMC44LC0wLjE1N1pNMC4zLC0wLjM1MkMwLjMxNCwtMC40MDIgMC4zMzEsLTAuNDYxIDAuMzQxLC0wLjQ5OEMwLjM1MiwtMC41MzQgMC4zNjIsLTAuNTc0IDAuMzc3LC0wLjU3NEMwLjM5LC0wLjU3NCAwLjQwMiwtMC41MzQgMC40MTIsLTAuNDk4TDAuNDUyLC0wLjM1MkwwLjMsLTAuMzUyWiIgc3R5bGU9ImZpbGwtcnVsZTpub256ZXJvOyI+PC9wYXRoPiA8L2c+IDxnIHRyYW5zZm9ybT0ibWF0cml4KDUwLDAsMCw1MCwzMjAuNjEyLDI0LjkpIj4gPHBhdGggZD0iTTAuMjkzLC0wLjQ3OEwwLjI4MiwtMC40NzhMMC4yODIsLTAuNjU2TDAuMjUzLC0wLjY3MkwwLjAyOCwtMC42NTNDMC4wMjgsLTAuNjUzIDAuMDI1LC0wLjUxIDAuMDI5LC0wLjUxQzAuMDgyLC0wLjUxIDAuMDk3LC0wLjQ4OCAwLjA5NywtMC40MTRMMC4wOTcsLTAuMjU4QzAuMDk3LC0wLjE4MyAwLjA4MiwtMC4xNjIgMC4wMjksLTAuMTYyQzAuMDI1LC0wLjE2MiAwLjAyOSwtMCAwLjAyOSwtMEwwLjM2OCwtMEMwLjM2OCwtMCAwLjM3MiwtMC4xNjIgMC4zNjgsLTAuMTYyQzAuMzYxLC0wLjE2MiAwLjM1MywtMC4xNjIgMC4zNDcsLTAuMTYzQzAuMzE2LC0wLjE2OSAwLjI5NiwtMC4xOTcgMC4yOTYsLTAuMzM3QzAuMjk2LC0wLjQzNCAwLjMxNiwtMC41MDggMC4zODgsLTAuNTA4QzAuNDM2LC0wLjUwOCAwLjQ2LC0wLjQ3NiAwLjQ3LC0wLjQyN0wwLjU2NSwtMC40MjdMMC41NjUsLTAuNjg1TDAuNTA2LC0wLjY4NUMwLjMxLC0wLjY4NSAwLjI5MywtMC41MTEgMC4yOTMsLTAuNDc4WiIgc3R5bGU9ImZpbGwtcnVsZTpub256ZXJvOyI+PC9wYXRoPiA8L2c+IDxnIHRyYW5zZm9ybT0ibWF0cml4KDUwLDAsMCw1MCwzNDkuMzYyLDI0LjkpIj4gPHBhdGggZD0iTTAuMzM3LC0wLjE2QzAuMjg4LC0wLjE2IDAuMjc1LC0wLjE5OCAwLjI3NSwtMC4yNjNMMC4yNzUsLTAuNDE0QzAuMjc1LC0wLjQ4OCAwLjI4OSwtMC41MSAwLjM1MiwtMC41MUwwLjQwNywtMC41MUMwLjQxLC0wLjUxIDAuNDA3LC0wLjY1MyAwLjQwNywtMC42NTNMMC4yNzUsLTAuNjUzTDAuMjc1LC0wLjgzOEwwLjIwNSwtMC44NzdDMC4yMDUsLTAuODc3IDAuMTY5LC0wLjY1MyAwLjAwMiwtMC42NTNDMC4wMDIsLTAuNjUzIC0wLjAwMSwtMC41MSAwLjAwMiwtMC41MUMwLjA1NSwtMC41MSAwLjA2NiwtMC40ODggMC4wNjYsLTAuNDE0QzAuMDY2LC0wLjI2NiAwLjAwOCwwLjAxNCAwLjI2NiwwLjAxNEMwLjM4LDAuMDE0IDAuNDQ5LC0wLjA3MiAwLjQ1NCwtMC4xODJMMC4zOTYsLTAuMjAzQzAuMzk2LC0wLjIwMyAwLjM4NSwtMC4xNiAwLjMzNywtMC4xNloiIHN0eWxlPSJmaWxsLXJ1bGU6bm9uemVybzsiPjwvcGF0aD4gPC9nPiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCg1MCwwLDAsNTAsMzcwLjc2MiwyNC45KSI+IDxwYXRoIGQ9Ik0wLjc5LC0wLjE2MkMwLjczNiwtMC4xNjIgMC43MjYsLTAuMTgzIDAuNzI2LC0wLjI1OEMwLjcyNiwtMC40MDQgMC43ODIsLTAuNjg1IDAuNTA2LC0wLjY4NUMwLjMwOCwtMC42ODUgMC4yOTMsLTAuNTExIDAuMjkzLC0wLjQ3OEwwLjI4MiwtMC40NzhMMC4zLC0wLjg4NkwwLjI3MSwtMC45MDFMMC4wMjgsLTAuODgyQzAuMDI4LC0wLjg4MiAwLjAyNSwtMC43MzkgMC4wMjgsLTAuNzM5QzAuMDgyLC0wLjczOSAwLjA5NiwtMC43MTggMC4wOTYsLTAuNjQzTDAuMDk2LC0wLjI1OEMwLjA5NiwtMC4xODMgMC4wODIsLTAuMTYyIDAuMDI4LC0wLjE2MkMwLjAyNSwtMC4xNjIgMC4wMjgsLTAgMC4wMjgsLTBMMC4zNjgsLTBDMC4zNjgsLTAgMC4zNzIsLTAuMTYyIDAuMzY4LC0wLjE2MkMwLjM2LC0wLjE2MiAwLjM1MywtMC4xNjIgMC4zNDcsLTAuMTYzQzAuMzE2LC0wLjE2OSAwLjI5NiwtMC4xOTEgMC4yOTYsLTAuMzM3QzAuMjk2LC0wLjQzNCAwLjMyLC0wLjUxNSAwLjQwOCwtMC41MTVDMC40OTYsLTAuNTE1IDAuNTIsLTAuNDM0IDAuNTIsLTAuMzM3QzAuNTIsLTAuMTg4IDAuNTE3LC0wLjE2MiAwLjQ0OSwtMC4xNjJDMC40NDUsLTAuMTYyIDAuNDQ5LC0wIDAuNDQ5LC0wTDAuNzksLTBDMC43OSwtMCAwLjc5MywtMC4xNjIgMC43OSwtMC4xNjJaIiBzdHlsZT0iZmlsbC1ydWxlOm5vbnplcm87Ij48L3BhdGg+IDwvZz4gPGcgdHJhbnNmb3JtPSJtYXRyaXgoNTAsMCwwLDUwLDQwOS4xNjIsMjQuOSkiPiA8cGF0aCBkPSJNMC43NzQsLTAuMTU3QzAuNzIxLC0wLjE1NyAwLjcwNiwtMC4xNzkgMC43MDYsLTAuMjUzTDAuNzA2LC0wLjY1M0wwLjY3NywtMC42NjhMMC40MzMsLTAuNjQ5QzAuNDMzLC0wLjY0OSAwLjQzLC0wLjUwNiAwLjQzMywtMC41MDZDMC40NDIsLTAuNTA2IDAuNDQ5LC0wLjUwNiAwLjQ1NiwtMC41MDVDMC40ODYsLTAuNDk5IDAuNTA1LC0wLjQ3MiAwLjUwNSwtMC4zMzJDMC41MDUsLTAuMjMzIDAuNDgxLC0wLjE1MiAwLjM5NCwtMC4xNTJDMC4zMDYsLTAuMTUyIDAuMjgyLC0wLjIzMyAwLjI4MiwtMC4zMzJMMC4yODIsLTAuNjUzTDAuMjUzLC0wLjY2OEwwLjAxMiwtMC42NDlDMC4wMTIsLTAuNjQ5IDAuMDEsLTAuNTA2IDAuMDEyLC0wLjUwNkMwLjA2NSwtMC41MDYgMC4wNzYsLTAuNDg1IDAuMDc2LC0wLjQxQzAuMDc2LC0wLjI2MyAwLjAxOSwwLjAxOCAwLjI5NSwwLjAxOEMwLjQ5MywwLjAxOCAwLjUwOSwtMC4xNTcgMC41MDksLTAuMTkxTDAuNTIsLTAuMTkxTDAuNTIxLDAuMDA1TDAuNzc0LDAuMDA1QzAuNzc0LDAuMDA1IDAuNzc4LC0wLjE1NyAwLjc3NCwtMC4xNTdaIiBzdHlsZT0iZmlsbC1ydWxlOm5vbnplcm87Ij48L3BhdGg+IDwvZz4gPGcgdHJhbnNmb3JtPSJtYXRyaXgoNTAsMCwwLDUwLDQ0OC4zMTIsMjQuOSkiPiA8cGF0aCBkPSJNMC4yOTMsLTAuNDc4TDAuMjgyLC0wLjQ3OEwwLjI4MiwtMC42NTZMMC4yNTMsLTAuNjcyTDAuMDI4LC0wLjY1M0MwLjAyOCwtMC42NTMgMC4wMjUsLTAuNTEgMC4wMjksLTAuNTFDMC4wODIsLTAuNTEgMC4wOTcsLTAuNDg4IDAuMDk3LC0wLjQxNEwwLjA5NywtMC4yNThDMC4wOTcsLTAuMTgzIDAuMDgyLC0wLjE2MiAwLjAyOSwtMC4xNjJDMC4wMjUsLTAuMTYyIDAuMDI5LC0wIDAuMDI5LC0wTDAuMzY4LC0wQzAuMzY4LC0wIDAuMzcyLC0wLjE2MiAwLjM2OCwtMC4xNjJDMC4zNjEsLTAuMTYyIDAuMzUzLC0wLjE2MiAwLjM0NywtMC4xNjNDMC4zMTYsLTAuMTY5IDAuMjk2LC0wLjE5NyAwLjI5NiwtMC4zMzdDMC4yOTYsLTAuNDM0IDAuMzE2LC0wLjUwOCAwLjM4OCwtMC41MDhDMC40MzYsLTAuNTA4IDAuNDYsLTAuNDc2IDAuNDcsLTAuNDI3TDAuNTY1LC0wLjQyN0wwLjU2NSwtMC42ODVMMC41MDYsLTAuNjg1QzAuMzEsLTAuNjg1IDAuMjkzLC0wLjUxMSAwLjI5MywtMC40NzhaIiBzdHlsZT0iZmlsbC1ydWxlOm5vbnplcm87Ij48L3BhdGg+IDwvZz4gPC9nPiA8L3N2Zz4K") center / contain no-repeat;
  background: var(--fg);
  filter: drop-shadow(0 4px 18px rgba(0, 0, 0, 0.6));
}

/* Variant: a soft band of light sweeps across the lettering (default). */
body[data-logo="sheen"] .name-logo {
  background: linear-gradient(
    105deg,
    var(--fg) 42%,
    #fff7e4 50%,
    var(--fg) 58%
  );
  background-size: 300% 100%;
  background-position: 100% 0;
  animation: logo-sheen 9s ease-in-out infinite;
}

@keyframes logo-sheen {
  0%, 55%   { background-position: 100% 0; }
  85%, 100% { background-position: 0% 0; }
}

/* Variant: the lettering slowly breathes. */
body[data-logo="breathe"] .name-logo {
  animation: logo-breathe 7s ease-in-out infinite;
}

@keyframes logo-breathe {
  0%, 100% { opacity: 0.82; transform: scale(1); }
  50%      { opacity: 1;    transform: scale(1.015); }
}

/* Variant: a soft golden halo pulses behind the lettering. */
body[data-logo="glow"] .name-logo {
  animation: logo-glow 6s ease-in-out infinite;
}

@keyframes logo-glow {
  0%, 100% { filter: drop-shadow(0 0 6px rgba(232, 180, 74, 0)); }
  50%      { filter: drop-shadow(0 0 18px rgba(232, 180, 74, 0.55)); }
}

/* The QR, release, and Instagram cards occupy the same box and crossfade
   between each other. */
.card-carousel {
  position: relative;
  width: var(--qr-size);
  height: var(--qr-size);
}

.carousel-card {
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
  /* On the web some cards double as tappable links; on the kiosk there's
     no pointer, so this is inert. */
  text-decoration: none;
}

.carousel-card.is-active {
  opacity: 1;
}

/* White card behind each item keeps it legible on the dark scrim. Holds an
   image (QR / cover art) plus a caption. The accent animation around it
   (glow / rotating ring / sparkles / border) is controlled by
   body[data-qr] below. */
.card-face {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6em;
  background: #fff;
  border-radius: 20px;
  padding: 1.4vh;
}

.card-image {
  flex: 1 1 auto;
  min-height: 0;
  max-width: 100%;
  object-fit: contain;
}

.card-caption {
  margin: 0;
  color: var(--magic-teal);
  font-family: "Poppins", "Futura", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(0.8rem, 1.6vh, 1.3rem);
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* Variant: a slow golden glow breathes around the card (default fallback). */
body[data-qr="pulse"] .card-face {
  animation: qr-glow 5.5s ease-in-out infinite;
}

@keyframes qr-glow {
  0%, 100% {
    box-shadow:
      0 0 22px rgba(232, 180, 74, 0.18),
      0 0 64px rgba(232, 180, 74, 0.07);
  }
  50% {
    box-shadow:
      0 0 34px rgba(232, 180, 74, 0.5),
      0 0 96px rgba(232, 180, 74, 0.18);
  }
}

/* Variant: a crisp conic-gradient border rotates around the card edge,
   animated by sweeping the gradient's angle via @property. */
@property --border-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

body[data-qr="border"] .card-face {
  border: var(--qr-border-width) solid transparent;
  background:
    linear-gradient(#fff, #fff) padding-box,
    conic-gradient(
      from var(--border-angle),
      var(--magic-cream),
      var(--magic-green),
      var(--magic-teal) 50%,
      var(--magic-green) 75%,
      var(--magic-cream)
    ) border-box;
  box-shadow: 0 0 26px rgba(243, 230, 214, 0.3);
  animation: border-spin 4s linear infinite;
}

@keyframes border-spin {
  to { --border-angle: 360deg; }
}

/* Variant: a soft conic-gradient halo slowly rotates behind the card. */
body[data-qr="ring"] .card-face {
  box-shadow: 0 0 26px rgba(243, 230, 214, 0.3);
}

body[data-qr="ring"] .card-face::before {
  content: "";
  position: absolute;
  inset: -14%;
  z-index: -1;
  border-radius: 30px;
  background: conic-gradient(
    from 0deg,
    var(--magic-cream),
    var(--magic-green),
    var(--magic-teal) 35%,
    transparent 60%,
    var(--magic-cream)
  );
  filter: blur(18px);
  opacity: 0.75;
  animation: qr-ring-spin 9s linear infinite;
}

@keyframes qr-ring-spin {
  to { transform: rotate(360deg); }
}

/* Variant: small golden sparkles twinkle around the corners. */
.sparkle {
  display: none;
}

body[data-qr="sparkle"] .card-face {
  box-shadow: 0 0 22px rgba(243, 230, 214, 0.25);
}

body[data-qr="sparkle"] .sparkle {
  display: block;
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--magic-cream);
  box-shadow: 0 0 10px 3px rgba(62, 92, 68, 0.85);
  animation: sparkle-twinkle 2.6s ease-in-out infinite;
}

.sparkle-1 { top: -6px;    left: -6px;   animation-delay: 0s; }
.sparkle-2 { top: -6px;    right: -6px;  animation-delay: 0.7s; }
.sparkle-3 { bottom: -6px; right: -6px;  animation-delay: 1.4s; }
.sparkle-4 { bottom: -6px; left: -6px;   animation-delay: 2.1s; }

@keyframes sparkle-twinkle {
  0%, 100% { opacity: 0;   transform: scale(0.3); }
  50%      { opacity: 1;   transform: scale(1); }
}

/* Text-based card variant (e.g. next-gig date/venue), in place of an
   image + caption. */
.card-face-text {
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1.4em 1.2em;
}

.card-eyebrow {
  margin: 0 0 0.4em;
  color: var(--magic-green);
  font-family: "Poppins", "Futura", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(0.7rem, 1.4vh, 1.1rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.gig-date {
  margin: 0;
  color: var(--magic-teal);
  font-family: "Poppins", "Futura", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1.2rem, 3.2vh, 2.4rem);
  font-weight: 700;
}

.gig-venue {
  margin: 0.3em 0 0;
  color: #1a1a1a;
  font-weight: 600;
  font-size: clamp(0.9rem, 2vh, 1.4rem);
}

.gig-location {
  margin: 0.1em 0 0;
  color: var(--magic-teal);
  font-size: clamp(0.8rem, 1.6vh, 1.2rem);
}

@media (prefers-reduced-motion: reduce) {
  .name-logo, .card-face, .card-face::before, .sparkle { animation: none !important; }
  body[data-qr="border"] .card-face { --border-angle: 45deg; }
}
