* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  margin: 0;
  background: #1c1b19;
  color: #e9e4d8;
  font-family: "Archivo", system-ui, sans-serif;
  font-size: 18px;
  line-height: 1.55;
  overflow-x: clip;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url("assets/grain.svg");
  opacity: 0.35;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 100;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: #ff3ea5;
}

a:hover {
  color: #e9e4d8;
}

:focus-visible {
  outline: 3px solid #e9e4d8;
  outline-offset: 4px;
}

.wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 32px;
}


.paper {
  background: #e9e4d8;
  color: #141414;
}

.paper a {
  color: #141414;
}

.torn {
  clip-path: polygon(0% 0.8%, 6.2% 1.6%, 13.6% 0.5%, 24.3% 1.8%, 28.7% 1.5%, 38.4% 1.0%, 49.0% 1.3%, 56.2% 2.1%, 67.0% 1.6%, 70.3% 0.3%, 76.1% 0.3%, 79.8% 0.1%, 82.7% 0.8%, 91.9% 0.5%, 99.6% 0.5%, 100% 1.7%, 99.2% 17%, 100% 38%, 99.6% 61%, 99.4% 79%, 100% 98.3%, 98.3% 99.1%, 94.2% 99.2%, 91.8% 99.4%, 83.7% 98.5%, 74.1% 98.6%, 65.4% 98.9%, 54.6% 98.7%, 50.1% 99.3%, 40.7% 99.7%, 34.7% 99.2%, 29.2% 98.4%, 18.5% 98.7%, 15.4% 99.2%, 11.1% 98.5%, 7.3% 98.5%, 0% 99.9%, 0.6% 81%, 0 57%, 0.8% 36%, 0.1% 14%);
}

.torn-strip {
  clip-path: polygon(0% 0.2%, 5.4% 3.0%, 9.3% 3.4%, 17.8% 4.5%, 26.8% 2.9%, 32.9% 1.5%, 42.7% 1.8%, 47.6% 2.0%, 56.9% 3.6%, 69.1% 4.2%, 77.7% 0.7%, 89.8% 0.6%, 100% 7.8%, 100% 91.7%, 90.6% 99.8%, 80.5% 96.1%, 69.8% 98.9%, 61.6% 96.5%, 49.6% 99.3%, 39.9% 96.8%, 36.9% 94.4%, 33.5% 99.5%, 20.7% 95.6%, 16.8% 99.6%, 12.1% 94.7%, 7.2% 98.6%, 0% 97.7%);
}

.torn-bottom {
  clip-path: polygon(0 0, 100% 0, 100% 99.4%, 95.6% 99.7%, 86.8% 96.8%, 81.5% 97.4%, 75.4% 98.6%, 67.8% 96.8%, 60.7% 100%, 50.3% 97.3%, 44.5% 99.8%, 37.7% 99.7%, 31.3% 98.2%, 23.9% 99.9%, 14.4% 99.9%, 10.6% 97.5%, 0% 98.4%);
}

.tape {
  position: relative;
}

.tape::before {
  content: "";
  position: absolute;
  top: -14px;
  left: 18%;
  width: 110px;
  height: 32px;
  background: rgba(217, 201, 163, 0.85);
  transform: rotate(-6deg);
  z-index: 2;
}

.tape::after {
  content: "";
  position: absolute;
  top: -16px;
  right: -20px;
  width: 90px;
  height: 32px;
  background: rgba(217, 201, 163, 0.85);
  transform: rotate(28deg);
  z-index: 2;
}

.note.tape::before,
.note.tape::after,
.craft-card.tape::before,
.craft-card.tape::after {
  background: rgba(233, 228, 216, 0.7);
}

.local.tape::before,
.local.tape::after {
  background: rgba(255, 255, 255, 0.45);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
}

.note {
  align-self: flex-start;
  max-width: 360px;
  padding: 22px 24px;
  background: #d9c9a3;
  color: #141414;
  font-family: "Special Elite", "Courier New", monospace;
  font-size: 19px;
  line-height: 1.45;
  transform: rotate(2deg);
}

.note p {
  margin: 0;
}

.btn {
  display: inline-block;
  padding: 16px 26px;
  background: #141414;
  color: #e9e4d8;
  font-family: "Archivo", sans-serif;
  font-weight: 900;
  font-size: 18px;
  text-transform: uppercase;
  text-decoration: none;
  transition: transform 0.15s, background 0.15s, color 0.15s;
}

.btn:hover {
  background: #ff3ea5;
  color: #141414;
  transform: scale(1.03);
}

.paper .btn {
  color: #e9e4d8;
}

.paper .btn:hover {
  color: #141414;
}


.site-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 18px;
  padding-bottom: 18px;
}

.logo {
  color: #e9e4d8;
  font-family: "Saira Stencil One", sans-serif;
  font-size: 24px;
  text-decoration: none;
}

.site-header nav {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  font-weight: 600;
}

.site-header nav a {
  padding: 12px;
  color: #e9e4d8;
  text-decoration: none;
}

.site-header nav a:hover {
  color: #ff3ea5;
}

.site-header nav .nav-tickets {
  color: #ff3ea5;
  font-weight: 800;
}


.hero {
  padding-top: 40px;
  padding-bottom: 80px;
}

.hero-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 48px;
}

.hero-poster {
  flex: 3 1 600px;
  padding: 56px 48px 64px;
  transform: rotate(-0.6deg);
}


.headline {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 6px 14px;
  margin: 20px 0 0;
  line-height: 1;
}

.headline-word {
  display: flex;
  align-items: flex-end;
  white-space: nowrap;
}

.headline img {
  height: 120px;
  width: auto;
  margin: 0 -2px;
  filter: drop-shadow(1px 2px 0 rgba(0, 0, 0, 0.22));
}

.theme {
  margin: 14px 0 0;
  line-height: 1;
}

.theme-letters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}

.theme img {
  height: 60px;
  width: auto;
  margin: 0 -1px;
  filter: drop-shadow(1px 2px 0 rgba(0, 0, 0, 0.25));
}

.theme .amp {
  margin: 0 6px 4px;
  padding: 4px 8px;
  background: #d9c9a3;
  color: #141414;
  font-family: "Special Elite", "Courier New", monospace;
  font-size: 54px;
  line-height: 1;
  transform: rotate(4deg);
}

.tagline {
  margin: 22px 0 0;
  font-family: "Special Elite", "Courier New", monospace;
  font-size: 30px;
  line-height: 1.25;
}


.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.hero-side {
  flex: 2 1 380px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.photo-note {
  align-self: flex-end;
  max-width: 320px;
  margin: -18px 12px 0 0;
  padding: 20px 24px;
  font-size: 20px;
  line-height: 1.35;
  transform: rotate(-2.5deg);
  position: relative;
  z-index: 3;
}


.row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 56px;
  padding-top: 96px;
}

.row-bottom {
  padding-bottom: 96px;
}

.strip {
  margin: 0 -24px;
  background: #e9e4d8;
  color: #141414;
  transform: rotate(-1.8deg);
}

.strip p {
  max-width: 1240px;
  margin: 0 auto;
  padding: 44px 48px;
  font-family: "Archivo", sans-serif;
  font-weight: 900;
  font-size: 30px;
  line-height: 1.35;
  text-transform: uppercase;
}


.lineup {
  padding: 32px 36px 48px;
  background-color: #ffffff;
  background-image: repeating-linear-gradient(transparent 0 39px, #b9c7da 39px 40px);
  color: #141414;
  transform: rotate(2.6deg);
}

.lineup h2 {
  margin: 0 0 8px;
  font-family: "Special Elite", "Courier New", monospace;
  font-weight: 400;
  font-size: 28px;
}


.pack {
  flex: 1 1 420px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.pack h2 {
  margin: 0;
  font-family: "Saira Stencil One", sans-serif;
  font-weight: 400;
  font-size: 68px;
  line-height: 0.9;
}

.pack p {
  margin: 0;
  color: #cfc9bc;
}

.pack strong {
  color: #ff3ea5;
}

.pack .note p {
  color: #141414;
}


.side-col {
  flex: 1 1 420px;
  display: flex;
  flex-direction: column;
  gap: 36px;
  margin-top: 24px;
}


.craft-card {
  padding: 44px 44px 36px;
  background: #d9c9a3;
  color: #141414;
  transform: rotate(0deg);
}

.craft-card h2 {
  margin: 0 0 16px;
  font-family: "Saira Stencil One", sans-serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 1;
}

.craft-card p {
  margin: 0 0 12px;
  font-size: 19px;
}

.craft-ask {
  margin-top: 20px;
  font-family: "Special Elite", "Courier New", monospace;
  font-size: 20px;
}

.tickets {
  flex: 1 1 460px;
}

.tearoff {
  width: 100%;
  transform: rotate(1.8deg);
}

.tearoff-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  padding: 36px 36px 28px;
}

.tearoff-body p {
  margin: 0;
}

.price {
  margin: 0;
  font-family: "Archivo", sans-serif;
  font-weight: 900;
  font-size: 60px;
  line-height: 0.9;
  text-transform: uppercase;
}

.price .fees {
  display: inline-block;
  font-family: "Special Elite", "Courier New", monospace;
  font-weight: 400;
  font-size: 23px;
  text-transform: none;
  vertical-align: middle;
  transform: rotate(-3deg);
}


.tabs {
  display: flex;
  border-top: 2px dashed #141414;
}

.tabs span {
  flex: 1 1 0;
  min-width: 0;
  height: 156px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Saira Stencil One", sans-serif;
  font-size: 14px;
  white-space: nowrap;
}

.tabs span + span {
  border-left: 2px dashed #141414;
}

.tabs i {
  font-style: normal;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.tabs .gone {
  background: #1c1b19;
}

.tabs .gone i {
  visibility: hidden;
}


.faq {
  flex: 1 1 420px;
}

.faq h2 {
  margin: 0 0 16px;
  line-height: 1;
  font-family: "Saira Stencil One", sans-serif;
  font-weight: 400;
  font-size: 40px;
}

.faq details {
  padding: 16px 0;
  border-top: 2px solid #4a4743;
}

.faq details:last-of-type {
  border-bottom: 2px solid #4a4743;
}

.faq summary {
  font-weight: 800;
  font-size: 18px;
  cursor: pointer;
}

.faq details p {
  margin: 10px 0 0;
  color: #cfc9bc;
}


.site-footer {
  background: #e9e4d8;
  color: #141414;
  clip-path: polygon(0% 3px, 5.0% 11px, 10.1% 3px, 19.8% 2px, 31.5% 0px, 36.9% 8px, 47.1% 9px, 51.6% 3px, 63.0% 12px, 68.4% 15px, 77.1% 9px, 87.3% 3px, 99.3% 11px, 100% 4px, 100% 100%, 0 100%);
}

.site-footer .wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px 48px;
  padding-top: 56px;
  padding-bottom: 40px;
}


.socials {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  font-family: "Special Elite", "Courier New", monospace;
  font-size: 18px;
}

.socials a {
  color: #141414;
}

.social-icons {
  display: flex;
  align-items: center;
  gap: 14px;
}

.social-icons a {
  display: flex;
  padding: 4px;
}

.social-icons a:hover {
  color: #ff3ea5;
}

.social-icons svg {
  display: block;
  width: 24px;
  height: 24px;
}

.footnote {
  margin: 0;
  font-family: "Special Elite", "Courier New", monospace;
  font-size: 18px;
}

.footnote a {
  color: #141414;
}


.conduct {
  padding-top: 32px;
  padding-bottom: 96px;
}

.conduct-sheet {
  max-width: 820px;
  margin: 0 auto;
  padding: 72px 64px 88px;
  clip-path: polygon(0% 7px, 8.1% 3px, 14.7% 4px, 19.7% 9px, 28.1% 0px, 36.4% 7px, 46.8% 12px, 58.3% 1px, 61.6% 3px, 73.3% 8px, 82.0% 5px, 90.2% 3px, 98.4% 8px, 100% 5px, 100% calc(100% - 4px), 93.3% calc(100% - 12px), 85.2% calc(100% - 6px), 76.8% calc(100% - 12px), 72.7% calc(100% - 11px), 68.6% calc(100% - 7px), 60.3% calc(100% - 2px), 52.1% calc(100% - 2px), 43.5% calc(100% - 11px), 32.9% calc(100% - 7px), 21.8% calc(100% - 1px), 14.5% calc(100% - 1px), 7.9% calc(100% - 7px), 0% calc(100% - 9px));
}

.conduct-kicker {
  margin: 0;
  font-family: "Saira Stencil One", sans-serif;
  font-size: 18px;
}

.conduct h1 {
  margin: 6px 0 20px;
  font-family: "Archivo", sans-serif;
  font-weight: 900;
  font-size: 72px;
  line-height: 0.95;
  text-transform: uppercase;
}

.conduct h2 {
  margin: 40px 0 10px;
  font-family: "Saira Stencil One", sans-serif;
  font-weight: 400;
  font-size: 28px;
}

.conduct p {
  margin: 0 0 12px;
}

.conduct ul {
  margin: 0;
  padding-left: 22px;
}

.conduct li {
  margin: 0 0 8px;
}

.conduct-lede {
  font-size: 20px;
}


@media (max-width: 1100px) {
  .headline img {
    height: 100px;
  }

  .theme img {
    height: 52px;
  }

  .theme .amp {
    font-size: 46px;
  }
}

@media (max-width: 800px) {
  .wrap {
    padding: 0 16px;
  }

  .hero-poster {
    padding: 32px 24px 40px;
  }

  .headline img {
    height: 52px;
  }

  .theme img {
    height: 34px;
  }

  .theme .amp {
    font-size: 30px;
  }

  .tagline {
    font-size: 23px;
  }

  .photo-note {
    font-size: 21px;
  }

  .lineup {
    padding: 24px 20px 36px;
  }


  .strip p {
    padding: 32px 28px;
    font-size: 19px;
  }

  .pack h2 {
    font-size: 52px;
  }

  .price {
    font-size: 44px;
  }

  .price .fees {
    font-size: 16px;
  }

  .tearoff-body {
    padding: 28px 22px 22px;
  }

  .row {
    gap: 48px;
    padding-top: 72px;
  }

  .side-col {
    margin-top: 0;
  }

  .craft-card {
    padding: 32px 22px 28px;
  }

  .craft-card h2 {
    font-size: 32px;
  }

  .conduct-sheet {
    padding: 40px 22px 52px;
  }

  .conduct h1 {
    font-size: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

.conduct h3 {
  margin: 24px 0 8px;
  font-family: "Archivo", sans-serif;
  font-weight: 800;
  font-size: 18px;
  text-transform: uppercase;
}

.conduct a[href^="tel:"] {
  white-space: nowrap;
}

.local {
  margin: 56px -12px 8px;
  padding: 40px 40px 28px;
  background: #d9c9a3;
  color: #141414;
  transform: rotate(0.9deg);
}

.local-kicker {
  font-family: "Special Elite", "Courier New", monospace;
  font-size: 15px;
}

.conduct .local h2 {
  margin-top: 0;
}

.conduct .local h3:first-of-type {
  margin-top: 20px;
}

@media (max-width: 800px) {
  .local {
    margin: 48px 4px 8px;
    padding: 32px 20px 20px;
    transform: rotate(0.5deg);
  }
}

.local time {
  white-space: nowrap;
}

.lineup p {
  margin: 0;
  padding-top: 6px;
  min-height: 40px;
  font-size: 18px;
  line-height: 40px;
}

.lineup .lineup-open {
  font-family: "Archivo", sans-serif;
  font-weight: 900;
  font-size: 26px;
  line-height: 40px;
  text-transform: uppercase;
}

.lineup .btn {
  line-height: 1.2;
}
