@charset "UTF-8";
* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  background: #000;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
}

button,
input,
textarea {
  font: inherit;
}

button {
  border: 0;
}

img {
  display: block;
  max-width: 100%;
}

h1,
h2,
h3,
p {
  margin: 0;
  text-wrap: pretty;
}

button,
label,
legend,
input,
textarea {
  letter-spacing: 0;
}

button,
a,
label,
input,
textarea,
select {
  touch-action: manipulation;
}

[hidden] {
  display: none !important;
}

.overview__intro :is(h1, h2),
.redemption__intro h2 {
  animation: title-in 650ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.overview__intro .overview__description {
  animation: copy-in 620ms 160ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.overview__nav > :is(button, a, .overview-card-group) {
  animation: card-in 520ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.overview__nav > :is(button, a, .overview-card-group):nth-child(2) {
  animation-delay: 0ms;
}
.overview__nav > :is(button, a, .overview-card-group):nth-child(3) {
  animation-delay: 70ms;
}
.overview__nav > :is(button, a, .overview-card-group):nth-child(4) {
  animation-delay: 140ms;
}
.overview__nav > :is(button, a, .overview-card-group):nth-child(5) {
  animation-delay: 210ms;
}
.overview__nav > :is(button, a, .overview-card-group):nth-child(6) {
  animation-delay: 280ms;
}
.overview__nav > :is(button, a, .overview-card-group):nth-child(7) {
  animation-delay: 350ms;
}

.floating {
  animation: float 5.5s ease-in-out infinite;
}

.page-chip {
  animation: chip-float 4.8s ease-in-out infinite;
}
.page-chip--1 {
  animation-delay: -0.72s;
  animation-duration: 4.69s;
}
.page-chip--2 {
  animation-delay: -1.44s;
  animation-duration: 5.13s;
}
.page-chip--3 {
  animation-delay: -2.16s;
  animation-duration: 5.57s;
}
.page-chip--4 {
  animation-delay: -2.88s;
  animation-duration: 6.01s;
}
.page-chip--5 {
  animation-delay: -3.6s;
  animation-duration: 6.45s;
}
.page-chip--6 {
  animation-delay: -4.32s;
  animation-duration: 6.89s;
}

.check-in.is-leaving,
.overview.is-leaving,
.survey.is-leaving,
.complete.is-leaving,
.redemption.is-leaving,
.check-in-page__chips.is-leaving,
.survey__aside.is-leaving,
.survey__form.is-leaving {
  pointer-events: none;
  animation: card-out 320ms ease-in both;
}
.check-in.is-entering,
.overview.is-entering,
.survey.is-entering,
.complete.is-entering,
.redemption.is-entering,
.check-in-page__chips.is-entering,
.survey__aside.is-entering,
.survey__form.is-entering {
  animation: card-in 460ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.qr-dialog[open] {
  animation: dialog-in 360ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.qr-dialog[open]::backdrop {
  animation: dialog-backdrop-in 300ms ease-out both;
}
.qr-dialog[open].is-closing {
  pointer-events: none;
  animation: dialog-out 260ms ease-in both;
}
.qr-dialog[open].is-closing::backdrop {
  animation: dialog-backdrop-out 260ms ease-in both;
}

@keyframes title-in {
  from {
    opacity: 0;
    transform: translateX(-48px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes copy-in {
  from {
    opacity: 0;
    transform: translateY(36px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes card-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(42px);
  }
}
@keyframes card-in {
  from {
    opacity: 0;
    transform: translateY(42px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes dialog-in {
  from {
    opacity: 0;
    transform: translateY(28px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes dialog-out {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateY(18px) scale(0.98);
  }
}
@keyframes dialog-backdrop-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes dialog-backdrop-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes float {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(-0.5deg);
  }
  50% {
    transform: translate3d(0, -15.4px, 0) rotate(0.8deg);
  }
}
@keyframes chip-float {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(-1deg);
  }
  50% {
    transform: translate3d(0, -13.2px, 0) rotate(1.5deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .floating {
    animation: none;
  }
  .page-chip {
    animation: none;
  }
  .check-in-page__red-landscape {
    transition: none;
  }
  *,
*::before,
*::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
.input-shell {
  position: relative;
  height: 64px;
  margin: 8px 0;
  border-radius: 11px;
  box-shadow: 0 5.443px 21.317px rgba(0, 0, 0, 0.1);
}
@media (max-width: 576px) {
  .input-shell {
    height: 48px;
  }
}

.input-shell::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(90.35deg, rgba(255, 255, 255, 0) -3.42%, #ccc 4.996%, #999 41.08%, #ccc 93.49%, rgba(249, 249, 249, 0.1) 105%);
  content: "";
  pointer-events: none;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
}

.input-shell:has(input[aria-invalid=true])::before {
  background: transparent;
}

.input-shell:hover input:not(:disabled) {
  background: rgba(255, 255, 255, 0.2);
}

.input-shell:focus-within input {
  background: rgba(255, 255, 255, 0.4);
  font-weight: 400;
}

.input-shell input {
  width: 100%;
  height: 100%;
  padding: 20px;
  border: 0;
  border-radius: inherit;
  outline: 0;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #fff;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0;
  transition: background 180ms ease;
}
@media (max-width: 576px) {
  .input-shell input {
    padding: 12px;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.6;
    letter-spacing: 0;
  }
}

.input-shell input::placeholder {
  color: rgba(255, 255, 255, 0.7);
}

.input-shell:has(input:disabled)::before {
  background: #8a8a8a;
}

.input-shell input:disabled {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(155, 155, 155, 0.7);
  cursor: not-allowed;
}

.input-shell input:disabled::placeholder {
  color: rgba(155, 155, 155, 0.7);
}

.input-shell input:-webkit-autofill,
.input-shell input:-webkit-autofill:hover,
.input-shell input:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff;
  caret-color: #fff;
  box-shadow: inset 0 0 0 1000px #1d1f21;
  transition: background-color 9999s ease-out;
}

.input-shell input[aria-invalid=true] {
  background: rgba(255, 164, 164, 0.4);
}

.option-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.option-list label {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 16px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  cursor: pointer;
}

.option-list label::before {
  content: "";
  flex: 0 0 auto;
  background: center/contain no-repeat;
}

.option-list label:has(input[type=checkbox])::before {
  width: 24px;
  height: 24px;
  border-radius: 2px;
  background-color: rgba(255, 255, 255, 0.1);
  background-image: url("../assets/ic-checkbox-default.svg");
  background-size: 14px;
  box-shadow: inset 0 0 3.4px rgba(255, 255, 255, 0.25), inset 0 3px 4px rgba(255, 255, 255, 0.25);
}

.option-list label:has(input[type=checkbox]):hover::before {
  background-color: rgba(255, 255, 255, 0.3);
}

.option-list label:has(input[type=checkbox]:checked)::before {
  background-color: rgba(255, 0, 0, 0.6);
  background-image: url("../assets/ic-checkbox-active.svg");
  box-shadow: inset 0 1px 5px rgba(255, 255, 255, 0.4), inset 0 3px 3px rgba(255, 255, 255, 0.15);
}

.option-list label:has(input[type=radio])::before {
  width: 24px;
  height: 24px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0 5.4px rgba(255, 255, 255, 0.2), inset 0 2.6px 5.4px rgba(255, 255, 255, 0.25);
}

.option-list label:has(input[type=radio]):hover::before {
  background-color: rgba(255, 255, 255, 0.3);
  box-shadow: inset 0 0 5.4px rgba(255, 0, 0, 0.2), inset 0 2.6px 5.4px rgba(255, 31, 31, 0.25);
}

.option-list label:has(input[type=radio]:checked)::before {
  border-color: #9e0000;
  background-color: rgba(255, 73, 73, 0.4);
  background-image: radial-gradient(circle at center, rgba(255, 0, 0, 0.6) 0 6px, transparent 6px);
  box-shadow: 0 0 5.4px 0 rgba(255, 31, 31, 0.2) inset, 0 2.6px 5.4px 0 rgba(255, 255, 255, 0.37) inset;
}

.option-list label:has(input:focus-visible) {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.option-list input:not([type=text]) {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.check-in-page[data-current-screen=survey][data-current-flow=polls] .option-list {
  flex: 0 0 auto;
  gap: 0;
}

.check-in-page[data-current-screen=survey][data-current-flow=polls] .option-list label {
  min-height: 40px;
  gap: 8px;
  padding: 8px 0 8px 24px;
  background: transparent;
  font-size: 14px;
  font-weight: 450;
  line-height: 1.8;
}
@media (max-width: 576px) {
  .check-in-page[data-current-screen=survey][data-current-flow=polls] .option-list label {
    font-size: 13px;
    line-height: 1.8;
  }
}

.check-in-page__hero-chip {
  position: absolute;
  z-index: 1;
  top: -140px;
  left: calc(50% - 300px);
  width: min(580px, 48vw);
  pointer-events: none;
}

.check-in-page {
  --red-landscape-img-bottom: min(0px, calc(12vh - 180px));
}
.check-in-page[data-current-screen=overview] {
  --red-landscape-img-bottom: min(0px, calc(12vh - 190px));
}
.check-in-page.has-scrollable-content {
  --red-landscape-img-bottom: min(0px, calc(12vh - 190px));
}
.check-in-page__red-landscape {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.check-in-page__red-landscape img {
  position: absolute;
  right: 0;
  bottom: var(--red-landscape-img-bottom);
  left: 0;
  display: block;
  width: 100%;
  height: auto;
  transition: bottom 820ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: bottom;
}
@media (max-width: 768px) {
  .check-in-page {
    --red-landscape-img-bottom: min(0px, calc(10vh - 100px));
  }
  .check-in-page[data-current-screen=overview] {
    --red-landscape-img-bottom: min(0px, calc(10vh - 120px));
  }
  .check-in-page.has-scrollable-content {
    --red-landscape-img-bottom: min(0px, calc(10vh - 80px));
  }
}

.check-in-page__chips {
  position: absolute;
  z-index: 2;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.check-in-page__chip-field {
  display: contents;
}
.check-in-page__chip-field.is-survey-anchored {
  position: absolute;
  top: calc(80px + var(--survey-layout-top));
  left: 0;
  display: block;
  width: 100%;
  height: var(--survey-layout-height);
  overflow: visible;
  pointer-events: none;
}

.page-chip {
  position: absolute;
  display: none;
  width: clamp(42px, 6vw, 96px);
  height: auto;
  object-fit: contain;
}

.page-chip--1 {
  left: 8%;
  bottom: 24%;
}

.page-chip--2 {
  left: 18%;
  bottom: 13%;
}

.page-chip--3 {
  left: 37%;
  bottom: 21%;
}

.page-chip--4 {
  left: 55%;
  bottom: 14%;
}

.page-chip--5 {
  left: 72%;
  bottom: 23%;
}

.page-chip--6 {
  left: 88%;
  bottom: 15%;
}

@media (max-width: 1200px) {
  .check-in-page__hero-chip {
    top: -3%;
    right: 0%;
    left: auto;
    width: clamp(240px, 60vw, 480px);
  }
}
@media (max-width: 768px) {
  .check-in-page__hero-chip,
.page-chip {
    scale: 0.9;
    transform-origin: center;
  }
}
@media (max-width: 576px) {
  .check-in-page__hero-chip {
    top: 0;
    right: -15%;
    scale: 1;
  }
  .page-chip {
    width: clamp(36px, 12vw, 64px);
    scale: 1;
  }
}
.check-in-page[data-current-screen=survey] .check-in-page__hero-chip,
.check-in-page[data-current-screen=complete] .check-in-page__hero-chip,
.check-in-page[data-current-screen=redemption] .check-in-page__hero-chip {
  top: 290px;
  left: 8%;
  width: 480px;
}

.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .check-in-page__hero-chip {
  display: none;
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--1,
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--3,
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--2 {
  display: block;
  bottom: auto;
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--1 {
  top: auto;
  bottom: -2%;
  right: auto;
  left: 8%;
  width: 78px;
  filter: blur(2px);
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--3 {
  top: auto;
  bottom: -18%;
  right: auto;
  left: 18%;
  width: 97px;
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--2 {
  top: auto;
  bottom: -12%;
  right: auto;
  left: 30%;
  width: 142px;
}

.check-in-page[data-current-screen=survey][data-current-flow=polls] .page-chip--1 {
  bottom: 28%;
}
.check-in-page[data-current-screen=survey][data-current-flow=polls] .page-chip--3 {
  bottom: 12%;
}
.check-in-page[data-current-screen=survey][data-current-flow=polls] .page-chip--2 {
  bottom: 18%;
}

.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .check-in-page__hero-chip {
  display: none;
}
@media (max-width: 1200px) {
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .check-in-page__chip-field {
    overflow: visible;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip {
    display: block;
    bottom: auto;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--1 {
    top: auto;
    bottom: 50%;
    right: auto;
    left: clamp(-1%, 15.705vw - 128.46px, 5%);
    width: 67px;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--2 {
    top: auto;
    bottom: 20%;
    right: auto;
    left: clamp(0%, 16.705vw - 128.46px, 6%);
    width: 81px;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--3 {
    top: auto;
    bottom: 50%;
    right: clamp(-1%, 15.705vw - 128.46px, 5%);
    left: auto;
    width: 81px;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--4 {
    top: auto;
    bottom: 5.5%;
    right: clamp(5%, 20.705vw - 128.46px, 13%);
    left: auto;
    width: 54px;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--5 {
    top: auto;
    bottom: 28%;
    left: auto;
    width: 80px;
    right: clamp(2%, 16.705vw - 128.46px, 8%);
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--6 {
    top: auto;
    bottom: -20%;
    right: auto;
    left: clamp(28%, 44.705vw - 128.46px, 34%);
    width: 60px;
  }
}
@media (max-width: 768px) {
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .check-in-page__chip-field {
    overflow: visible;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip.page-chip--3,
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip.page-chip--5 {
    display: none;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--1 {
    top: auto;
    right: auto;
    bottom: -14%;
    left: clamp(5%, 26.126vw - 139.2px, 5%);
    width: 48px;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--2 {
    top: auto;
    right: auto;
    bottom: -21%;
    left: clamp(19%, 43.126vw - 139.2px, 25%);
    width: 85px;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--4 {
    top: auto;
    right: clamp(18%, 48.126vw - 139.2px, 25%);
    bottom: -16%;
    left: auto;
    width: 57px;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--6 {
    top: auto;
    right: clamp(4%, 27.126vw - 139.2px, 5%);
    bottom: -12%;
    left: auto;
    width: 82px;
  }
}
@media (max-width: 576px) {
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .check-in-page__chip-field {
    overflow: visible;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--1,
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--2,
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--4,
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--6 {
    display: block;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--1 {
    width: 24px;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--2 {
    width: 43px;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--4 {
    width: 39px;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .page-chip--6 {
    width: 56px;
  }
}

.check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .check-in-page__hero-chip {
  top: auto;
  right: auto;
  bottom: 51%;
  left: 70%;
  width: 520px;
  height: auto;
}
.check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip {
  display: block;
  bottom: auto;
}
.check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--1 {
  top: 41.5%;
  left: 56%;
  width: 57px;
}
.check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--2 {
  top: 50.7%;
  left: 58%;
  width: 100px;
}
.check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--3 {
  top: 44.1%;
  left: 65%;
  width: 100px;
}
.check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--4 {
  top: 49%;
  left: 75%;
  width: 67px;
}
.check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--5 {
  top: 53.3%;
  left: 83%;
  width: 96px;
}
.check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--6 {
  top: 42.8%;
  left: 92%;
  width: 67px;
}
@media (max-width: 1200px) {
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .check-in-page__hero-chip {
    top: -4%;
    right: auto;
    left: calc(50% - 64px);
    width: 586px;
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .check-in-page__chip-field {
    position: absolute;
    top: 65%;
    bottom: auto;
    left: 50%;
    display: block;
    width: min(100% - 96px, 672px);
    height: 300px;
    transform: translateX(-50%);
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip {
    display: block;
    bottom: auto;
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--1 {
    top: 14.7%;
    left: 0;
    width: 11%;
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--2 {
    top: 53.7%;
    left: 9.1%;
    width: 19%;
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--3 {
    top: 26%;
    left: 31.1%;
    width: 19%;
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--4 {
    top: 46.7%;
    left: 54%;
    width: 12%;
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--5 {
    top: 65%;
    left: 68%;
    width: 18%;
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--6 {
    top: 20%;
    right: 0;
    left: auto;
    width: 12%;
  }
}
@media (max-width: 576px) {
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .check-in-page__hero-chip {
    top: 10px;
    left: calc(50% - 20px);
    width: 265px;
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .check-in-page__chip-field {
    top: 73%;
    width: calc(100% - 40px);
    height: 130px;
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--1 {
    top: 19.2%;
    left: 0;
    width: 7%;
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--2 {
    top: 34.6%;
    left: 9.1%;
    width: 13%;
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip.page-chip--3,
.check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip.page-chip--6 {
    display: none;
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--4 {
    top: 18.5%;
    left: 47.8%;
    width: 12%;
  }
  .check-in-page:is([data-current-screen=complete], [data-current-screen=redemption]) .page-chip--5 {
    top: 18.5%;
    right: 0;
    left: auto;
    width: 17%;
  }
}

.check-in-page[data-current-screen=redemption] .check-in-page__hero-chip {
  top: -151px;
  right: auto;
  bottom: auto;
  left: calc(50% - 299px);
  width: 705px;
}
.check-in-page[data-current-screen=redemption] .check-in-page__chip-field {
  position: absolute;
  z-index: 1;
  top: 413px;
  bottom: auto;
  left: calc(50% + min(50vw - 84px, 603px) - 281px);
  display: block;
  width: 720px;
  height: 190px;
  transform: translateX(-50%);
}
.check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip {
  display: block;
  bottom: auto;
}
.check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--1 {
  top: 46.3%;
  left: 0%;
  width: 45px;
}
.check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--2 {
  top: 84.2%;
  left: 4.9%;
  width: 80px;
}
.check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--3 {
  top: 54.2%;
  left: 23.3%;
  width: 72px;
}
.check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--4 {
  top: 95%;
  right: 45%;
  left: auto;
  width: 78px;
}
.check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--5 {
  top: 82%;
  right: 20%;
  left: auto;
  width: 80px;
}
.check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--6 {
  top: 78.9%;
  right: 0%;
  left: auto;
  width: 72px;
}
@media (max-width: 1200px) {
  .check-in-page[data-current-screen=redemption] .check-in-page__hero-chip {
    display: none;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field {
    top: 55%;
    bottom: auto;
    left: 50%;
    width: min(100% - 96px, 672px);
    height: 300px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--1 {
    top: 18.7%;
    left: 0;
    width: 40px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--2 {
    top: 57.7%;
    left: 9.1%;
    width: 94px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--3 {
    top: 90%;
    left: 31.1%;
    width: 94px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--4 {
    top: 86%;
    right: auto;
    left: 54%;
    width: 47px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--5 {
    top: 69%;
    right: auto;
    left: 68%;
    width: 88px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--6 {
    top: 24%;
    right: 0;
    left: auto;
    width: 47px;
  }
}
@media (max-width: 576px) {
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field {
    top: 73%;
    width: calc(100% - 40px);
    height: 130px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--1 {
    top: 19.2%;
    width: 38px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--2 {
    top: 34.6%;
    width: 70px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip.page-chip--3,
.check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip.page-chip--6 {
    display: none;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--4 {
    top: 18.5%;
    left: 47.8%;
    width: 64px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--5 {
    top: 18.5%;
    right: 0;
    left: auto;
    width: 91px;
  }
}
@media (max-width: 768px) {
  .check-in-page[data-current-screen=redemption] .check-in-page__hero-chip {
    display: none;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field {
    position: absolute;
    top: calc(80px + var(--survey-layout-top));
    right: auto;
    bottom: auto;
    left: 0;
    display: block;
    width: 100%;
    height: var(--survey-layout-height);
    overflow: visible;
    transform: none;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip {
    top: auto;
    bottom: auto;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip.page-chip--3,
.check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip.page-chip--5 {
    display: none;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--1 {
    display: block;
    right: auto;
    bottom: -14%;
    left: clamp(5%, 26.126vw - 139.2px, 5%);
    width: 48px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--2 {
    display: block;
    right: auto;
    bottom: -21%;
    left: clamp(19%, 43.126vw - 139.2px, 25%);
    width: 85px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--4 {
    display: block;
    right: clamp(18%, 48.126vw - 139.2px, 25%);
    bottom: -16%;
    left: auto;
    width: 57px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--6 {
    display: block;
    right: clamp(4%, 27.126vw - 139.2px, 5%);
    bottom: -12%;
    left: auto;
    width: 82px;
  }
}
@media (max-width: 576px) {
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--1 {
    width: 24px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--2 {
    width: 43px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--4 {
    width: 39px;
  }
  .check-in-page[data-current-screen=redemption] .check-in-page__chip-field .page-chip--6 {
    width: 56px;
  }
}

.check-in-page[data-current-screen=overview] .check-in-page__hero-chip {
  display: block;
  top: 35.2%;
  right: auto;
  left: max(192px, 50% - 528px);
  width: 482px;
  max-width: none;
}
.check-in-page[data-current-screen=overview] .page-chip {
  display: block;
  top: auto;
}
.check-in-page[data-current-screen=overview] .page-chip--1 {
  bottom: 31%;
  left: 5%;
  width: 72px;
}
.check-in-page[data-current-screen=overview] .page-chip--2 {
  bottom: 19%;
  left: 31%;
  width: 137.5px;
}
.check-in-page[data-current-screen=overview] .page-chip--3 {
  bottom: 13%;
  left: 18%;
  width: 94.6px;
}
.check-in-page[data-current-screen=overview] .page-chip--4,
.check-in-page[data-current-screen=overview] .page-chip--5,
.check-in-page[data-current-screen=overview] .page-chip--6 {
  display: none;
}
@media (max-width: 1200px) {
  .check-in-page[data-current-screen=overview] .check-in-page__hero-chip {
    top: 56%;
    bottom: 30%;
    left: 38%;
    width: 420px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--1 {
    bottom: 34%;
    left: 1.5%;
    width: 48px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--2 {
    bottom: 10%;
    left: 9.8%;
    width: 85px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--3 {
    bottom: 2%;
    left: 26.1%;
    width: 85px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--4 {
    display: block;
    right: 28%;
    bottom: 3%;
    left: auto;
    width: 57px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--5 {
    display: block;
    right: 8%;
    bottom: 17%;
    left: auto;
    width: 82px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--6 {
    display: block;
    right: 3%;
    bottom: 43%;
    left: auto;
    width: 57px;
  }
}
@media (max-width: 576px) {
  .check-in-page[data-current-screen=overview] .check-in-page__hero-chip {
    top: auto;
    bottom: 10%;
    left: 54%;
    width: 220px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--1 {
    bottom: 14%;
    left: 6.1%;
    width: 36px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--2 {
    bottom: 5%;
    left: 16.5%;
    width: 57px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--3 {
    bottom: 12%;
    left: 32.3%;
    width: 48px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--4 {
    right: 50%;
    bottom: 3%;
    left: auto;
    width: 35px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--5 {
    right: 32%;
    bottom: 6%;
    left: auto;
    width: 45px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--6 {
    right: 9%;
    bottom: 8%;
    left: auto;
    width: 36px;
  }
}

@media screen and (orientation: landscape) and (min-width: 768px) and (max-width: 1200px) and (max-height: 799px) {
  .check-in-page[data-current-screen=overview] .check-in-page__hero-chip {
    top: -3%;
    right: auto;
    bottom: auto;
    left: 63%;
    width: 320px;
  }
  .check-in-page[data-current-screen=overview] .page-chip {
    display: block;
    top: auto;
  }
  .check-in-page[data-current-screen=overview] .page-chip--1 {
    right: auto;
    bottom: 53%;
    left: 7%;
    width: 48px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--2 {
    right: auto;
    bottom: 29%;
    left: 2%;
    width: 85px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--3 {
    right: auto;
    bottom: 8%;
    left: 8%;
    width: 85px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--4 {
    right: 5%;
    bottom: 52%;
    left: auto;
    width: 57px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--5 {
    right: 6%;
    bottom: 29%;
    left: auto;
    width: 82px;
  }
  .check-in-page[data-current-screen=overview] .page-chip--6 {
    right: 3%;
    bottom: 8%;
    left: auto;
    width: 57px;
  }
}
@media (max-width: 576px) {
  .check-in-page[data-current-screen=complete] .check-in-page__hero-chip {
    display: block;
    top: 58%;
    right: auto;
    left: 44%;
    width: 220px;
  }
  .check-in-page[data-current-screen=complete] .check-in-page__chip-field {
    display: contents;
  }
  .check-in-page[data-current-screen=complete] .page-chip {
    display: block;
    bottom: auto;
  }
  .check-in-page[data-current-screen=complete] .page-chip--1 {
    top: calc(60% + 120px);
    left: 6.1%;
    width: 28px;
  }
  .check-in-page[data-current-screen=complete] .page-chip--2 {
    top: calc(60% + 162px);
    left: 16.5%;
    width: 49px;
  }
  .check-in-page[data-current-screen=complete] .page-chip.page-chip--3 {
    display: block;
    top: calc(60% + 126px);
    left: 32.3%;
    width: 39px;
  }
  .check-in-page[data-current-screen=complete] .page-chip--4 {
    top: calc(60% + 163px);
    left: 46.1%;
    width: 35px;
  }
  .check-in-page[data-current-screen=complete] .page-chip--5 {
    top: calc(60% + 178px);
    right: auto;
    left: 62%;
    width: 38px;
  }
  .check-in-page[data-current-screen=complete] .page-chip.page-chip--6 {
    display: block;
    top: calc(60% + 132px);
    right: auto;
    left: 84.5%;
    width: 40px;
  }
}
.check-in-page[data-current-screen=login] .check-in-page__hero-chip {
  display: block;
  top: 34%;
  right: auto;
  left: calc(50% - 321px);
  width: 518px;
  max-width: none;
}
@media (max-width: 1200px) {
  .check-in-page[data-current-screen=login] .check-in-page__hero-chip {
    top: 2%;
    left: 60%;
    width: 400px;
  }
}
@media (max-width: 576px) {
  .check-in-page[data-current-screen=login] .check-in-page__hero-chip {
    top: 1%;
    width: 260px;
  }
}
.check-in-page[data-current-screen=login] .page-chip {
  display: block;
  bottom: auto;
}
.check-in-page[data-current-screen=login] .page-chip--1 {
  top: calc(38% + 232px);
  left: calc(50% - 567px);
  width: 57px;
}
.check-in-page[data-current-screen=login] .page-chip--2 {
  top: calc(38% + 326px);
  left: calc(50% - 543px);
  width: 100px;
}
.check-in-page[data-current-screen=login] .page-chip--3 {
  top: calc(38% + 259px);
  left: calc(50% - 421px);
  width: 100px;
}
.check-in-page[data-current-screen=login] .page-chip--4 {
  top: calc(38% + 309px);
  left: calc(50% - 289px);
  width: 67px;
}
.check-in-page[data-current-screen=login] .page-chip--5 {
  top: calc(38% + 353px);
  left: calc(50% - 181px);
  width: 96px;
}
.check-in-page[data-current-screen=login] .page-chip--6 {
  top: calc(38% + 245px);
  left: calc(50% - 52px);
  width: 67px;
}
@media (max-width: 1200px) {
  .check-in-page[data-current-screen=login] .check-in-page__chip-field {
    position: absolute;
    top: 64%;
    bottom: auto;
    left: 50%;
    display: block;
    width: min(100% - 96px, 672px);
    height: 300px;
    transform: translateX(-50%);
  }
  .check-in-page[data-current-screen=login] .page-chip--1 {
    top: 14.7%;
    left: 0;
    width: 50px;
  }
  .check-in-page[data-current-screen=login] .page-chip--2 {
    top: 46%;
    left: 10%;
    width: 93px;
  }
  .check-in-page[data-current-screen=login] .page-chip--3 {
    top: 21%;
    left: 28%;
    width: 94px;
  }
  .check-in-page[data-current-screen=login] .page-chip--4 {
    top: 49%;
    left: 51%;
    width: 56px;
  }
  .check-in-page[data-current-screen=login] .page-chip--5 {
    top: 40%;
    right: auto;
    left: 73%;
    width: 73px;
  }
  .check-in-page[data-current-screen=login] .page-chip--6 {
    top: 13%;
    right: 0;
    left: auto;
    width: 56px;
  }
}
@media screen and (orientation: landscape) and (min-width: 768px) and (max-width: 1200px) and (max-height: 799px) {
  .check-in-page[data-current-screen=login] .page-chip--1 {
    top: 14.7%;
    left: -12%;
    width: 50px;
  }
  .check-in-page[data-current-screen=login] .page-chip--2 {
    top: 40%;
    left: -3%;
    width: 93px;
  }
  .check-in-page[data-current-screen=login] .page-chip--3 {
    top: 23%;
    left: 16%;
    width: 94px;
  }
  .check-in-page[data-current-screen=login] .page-chip--4 {
    top: 38%;
    left: 70%;
    width: 56px;
  }
  .check-in-page[data-current-screen=login] .page-chip--5 {
    top: 48%;
    right: auto;
    left: 87%;
    width: 73px;
  }
  .check-in-page[data-current-screen=login] .page-chip--6 {
    top: 13%;
    right: -17%;
    left: auto;
    width: 56px;
  }
}
@media (max-width: 576px) {
  .check-in-page[data-current-screen=login] .check-in-page__chip-field {
    top: 73%;
    width: calc(100% - 40px);
    height: 130px;
  }
  .check-in-page[data-current-screen=login] .page-chip--1 {
    top: 19.2%;
    left: 0;
    width: 38px;
  }
  .check-in-page[data-current-screen=login] .page-chip--2 {
    top: 34.6%;
    left: 9.1%;
    width: 70px;
  }
  .check-in-page[data-current-screen=login] .page-chip.page-chip--3,
.check-in-page[data-current-screen=login] .page-chip.page-chip--6 {
    display: none;
  }
  .check-in-page[data-current-screen=login] .page-chip--3 {
    width: 70px;
  }
  .check-in-page[data-current-screen=login] .page-chip--4 {
    top: 18.5%;
    left: 47.8%;
    width: 64px;
  }
  .check-in-page[data-current-screen=login] .page-chip--5 {
    top: 18.5%;
    right: 0;
    left: auto;
    width: 91px;
  }
  .check-in-page[data-current-screen=login] .page-chip--6 {
    width: 64px;
  }
}

@media (max-width: 1200px) {
  .check-in-page[data-current-screen=complete] .check-in-page__hero-chip {
    display: block;
    top: -2%;
    right: auto;
    bottom: auto;
    left: 54%;
    width: 480px;
  }
  .check-in-page[data-current-screen=complete] .check-in-page__chip-field {
    position: absolute;
    top: 64%;
    bottom: auto;
    left: 50%;
    display: block;
    width: min(100% - 96px, 672px);
    height: 300px;
    transform: translateX(-50%);
  }
  .check-in-page[data-current-screen=complete] .page-chip--1 {
    top: 14.7%;
    left: 0;
    width: 50px;
  }
  .check-in-page[data-current-screen=complete] .page-chip--2 {
    top: 46%;
    left: 10%;
    width: 93px;
  }
  .check-in-page[data-current-screen=complete] .page-chip--3 {
    top: 21%;
    left: 28%;
    width: 94px;
  }
  .check-in-page[data-current-screen=complete] .page-chip--4 {
    top: 49%;
    left: 51%;
    width: 56px;
  }
  .check-in-page[data-current-screen=complete] .page-chip--5 {
    top: 40%;
    right: auto;
    left: 73%;
    width: 73px;
  }
  .check-in-page[data-current-screen=complete] .page-chip--6 {
    top: 13%;
    right: 0;
    left: auto;
    width: 56px;
  }
}
@media (max-width: 576px) {
  .check-in-page[data-current-screen=complete] .check-in-page__hero-chip {
    top: -14px;
    width: 260px;
  }
  .check-in-page[data-current-screen=complete] .check-in-page__chip-field {
    top: 73%;
    width: calc(100% - 40px);
    height: 130px;
  }
  .check-in-page[data-current-screen=complete] .page-chip--1 {
    top: 19.2%;
    left: 0;
    width: 38px;
  }
  .check-in-page[data-current-screen=complete] .page-chip--2 {
    top: 34.6%;
    left: 9.1%;
    width: 70px;
  }
  .check-in-page[data-current-screen=complete] .page-chip.page-chip--3,
.check-in-page[data-current-screen=complete] .page-chip.page-chip--6 {
    display: none;
  }
  .check-in-page[data-current-screen=complete] .page-chip--3 {
    width: 70px;
  }
  .check-in-page[data-current-screen=complete] .page-chip--4 {
    top: 18.5%;
    left: 47.8%;
    width: 64px;
  }
  .check-in-page[data-current-screen=complete] .page-chip--5 {
    top: 18.5%;
    right: 0;
    left: auto;
    width: 91px;
  }
  .check-in-page[data-current-screen=complete] .page-chip--6 {
    width: 64px;
  }
}
.save-toast-region {
  position: fixed;
  z-index: 20;
  right: 0;
  bottom: 20px;
  left: 0;
  display: grid;
  place-items: end center;
  pointer-events: none;
}
.save-toast-region > * {
  grid-area: 1/1;
}

.save-toast {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 360px;
  min-height: 40px;
  padding: 8px 40px 8px 12px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  color: #d50000;
  font-size: 18px;
  font-weight: 450;
  line-height: 1.3;
  text-align: center;
  pointer-events: auto;
  animation: save-toast-lifecycle 1.45s ease both;
}
.save-toast.is-closing {
  animation: save-toast-out 250ms ease both;
}
.save-toast__close {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 20px;
  height: 20px;
  padding: 0;
  background: transparent;
  transform: translateY(-50%);
  cursor: pointer;
}
.save-toast__close img {
  width: 100%;
  height: 100%;
}
@media (max-width: 576px) {
  .save-toast {
    width: 200px;
    min-height: 34px;
    padding-block: 5px;
    font-size: 14px;
    line-height: 1.8;
  }
}

@keyframes save-toast-lifecycle {
  0% {
    opacity: 0;
    transform: translateY(12px);
  }
  14%, 82% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(8px);
  }
}
@keyframes save-toast-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(8px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .save-toast {
    animation-duration: 1.1s;
  }
  .save-toast.is-closing {
    animation-duration: 1ms;
  }
}
.check-in-page {
  --survey-layout-top: clamp(20px, 2.5vh, 108px);
  --survey-layout-height: 68dvh;
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
  background: black;
}
.check-in-page[data-current-screen=overview] .check-in-page__bg-top, .check-in-page[data-current-screen=login] .check-in-page__bg-top, .check-in-page[data-current-screen=overview] .check-in-page__bg-top img, .check-in-page[data-current-screen=login] .check-in-page__bg-top img {
  width: 200px;
  height: auto;
}
.check-in-page__bg-top {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  display: block;
  width: 420px;
  height: 450px;
  pointer-events: none;
}
.check-in-page__bg-top img {
  display: block;
  width: 420px;
  height: 450px;
  max-width: none;
}
.check-in-page__bg-top--home {
  display: none;
}
@media (max-width: 1200px) {
  .check-in-page__bg-top {
    width: 400px;
    height: 580px;
  }
  .check-in-page__bg-top img {
    width: 400px;
    height: 580px;
  }
}
@media (max-width: 768px) {
  .check-in-page__bg-top {
    width: 320px;
    height: 580px;
  }
  .check-in-page__bg-top img {
    width: 320px;
    height: 580px;
  }
}
@media (max-width: 576px) {
  .check-in-page__bg-top {
    width: 375px;
    height: 580px;
  }
  .check-in-page__bg-top img {
    width: 375px;
    height: 580px;
  }
}
.check-in-page[data-current-screen=overview] .check-in-page__bg-top--default, .check-in-page[data-current-screen=login] .check-in-page__bg-top--default {
  display: none;
}
.check-in-page[data-current-screen=overview] .check-in-page__bg-top--home, .check-in-page[data-current-screen=login] .check-in-page__bg-top--home {
  display: block;
}
.check-in-page .site-header {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 80px;
  padding: 0 40px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 22.5%, rgba(0, 0, 0, 0) 100%);
}
.check-in-page .site-header__actions {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: auto;
}
.check-in-page .site-header__home, .check-in-page .site-header__qr {
  display: grid;
  width: 44px;
  height: 44px;
  padding: 8px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  place-items: center;
  transition: background 180ms ease;
}
.check-in-page .site-header__home img, .check-in-page .site-header__qr img {
  width: 28px;
  height: 28px;
}
.check-in-page .site-header__home:hover, .check-in-page .site-header__home:focus-visible, .check-in-page .site-header__qr:hover, .check-in-page .site-header__qr:focus-visible {
  background: rgba(255, 255, 255, 0.4);
}
@media (hover: none) and (pointer: coarse) {
  .check-in-page .site-header__home:hover, .check-in-page .site-header__qr:hover {
    background: transparent;
  }
}
.check-in-page .site-header__qr img {
  width: 29px;
  height: 29px;
}
@media (max-width: 1200px) {
  .check-in-page[data-current-screen=overview], .check-in-page[data-current-screen=survey] {
    min-height: 0;
  }
}
@media (max-width: 576px) {
  .check-in-page .site-header {
    padding: 0 10px;
    height: 56px;
  }
  .check-in-page .site-header__home {
    width: 40px;
    height: 40px;
  }
  .check-in-page .site-header__home img {
    width: 24px;
    height: 24px;
  }
}

.check-in {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(420px, 600px) minmax(560px, 600px);
  align-items: start;
  gap: clamp(40px, 5.5vw, 80px);
  width: min(100% - 160px, 1240px);
  height: calc(100dvh - 160px);
  margin: clamp(20px, 5vh, 108px) auto 0;
}
.check-in__form {
  display: flex;
  flex-direction: column;
  align-self: start;
  margin-top: 60px;
  padding: 0 40px;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.check-in__form .field {
  display: flex;
  flex-direction: column;
}
.check-in__form .field label {
  font-size: 18px;
  font-weight: 450;
  line-height: 1.2;
  margin-bottom: 16px;
}
@media (max-width: 1200px) {
  .check-in__form .field label {
    margin-bottom: 12px;
  }
}
@media (max-width: 576px) {
  .check-in__form .field label {
    font-size: 14px;
    margin-bottom: 8px;
  }
}
.check-in__form .field label span {
  color: #ff3238;
}
.check-in__form .field small {
  color: #dfdfdf;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.3;
}
.check-in__form .field .field__error {
  min-height: 18px;
  color: #fc3a3a;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0;
}
.check-in__form .field .field__error:empty {
  display: none;
}
.check-in__form button {
  align-self: center;
  margin-top: 36px;
}
@media (max-width: 576px) {
  .check-in__form button {
    font-size: 16px;
  }
}
@media (max-width: 576px) {
  .check-in__form .input-shell {
    margin-top: 4px;
    border-radius: 8px;
  }
}
.check-in__message {
  min-height: 0;
  margin: -24px 0 -20px;
  color: #ff7a7e;
  text-align: center;
}
.check-in__message:empty {
  display: none;
}
@media (max-width: 1200px) {
  .check-in {
    display: flex;
    flex-direction: column;
    height: auto;
    margin-top: clamp(20px, 4vh, 240px);
    gap: 40px;
    padding: 0;
  }
  .check-in__form {
    width: 100%;
    min-height: 0;
    margin-top: 0;
    padding: 0;
    overflow: visible;
  }
}
@media (max-width: 576px) {
  .check-in {
    gap: 40px;
    padding: 0;
    margin-top: 90px;
  }
}

.glass-button {
  position: relative;
  display: inline-flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: max-content;
  min-width: 200px;
  height: 54px;
  padding: 0 24px;
  overflow: hidden;
  border: 0;
  border-radius: 40px;
  background: rgba(255, 255, 255, 0.2);
  box-shadow: inset 2px 2px 4px rgba(165, 165, 165, 0.25);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  color: #fff;
  font-size: 16px;
  font-weight: 450;
  line-height: 1.2;
  letter-spacing: 0.48px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.glass-button::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(92.77deg, rgb(255, 255, 255) -9.88%, rgba(255, 255, 255, 0.4) 25.08%, rgba(255, 255, 255, 0.03) 50.54%, rgba(255, 255, 255, 0) 77.19%, rgba(255, 255, 255, 0.8) 109.94%);
  content: "";
  pointer-events: none;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
}
.glass-button:hover {
  background: rgba(255, 255, 255, 0.4);
}
.glass-button:hover::before {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.4) 5.17%, rgb(255, 255, 255) 44.73%, rgba(255, 255, 255, 0.03) 89.64%, rgba(255, 255, 255, 0) 92.57%, rgba(255, 255, 255, 0.8) 104.83%);
}
.glass-button:active {
  background: rgba(255, 0, 0, 0.5);
  box-shadow: inset 0 -1px 1px rgba(56, 56, 56, 0.25), inset 0 1px 1px rgba(0, 0, 0, 0.25);
}
.glass-button:active::before {
  background: linear-gradient(92.58deg, rgb(255, 255, 255) -9.99%, rgba(255, 190, 190, 0.1) 35.67%, rgba(255, 255, 255, 0.15) 47.48%, rgba(255, 198, 198, 0.9) 112.57%);
}
@media (max-width: 576px) {
  .glass-button {
    gap: 4px;
    width: max-content;
    min-width: 178px;
    height: 48px;
    padding: 0 20px;
    font-size: 16px;
    line-height: 2.33;
    letter-spacing: 0.32px;
  }
  .glass-button .button-icon {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
  }
}
.glass-button--return {
  margin-top: 20px;
}
.glass-button--complete {
  border-color: transparent;
  background: rgba(255, 0, 0, 0.5);
}
.glass-button--complete:hover, .glass-button--complete:focus-visible {
  background: rgba(255, 0, 0, 0.6);
}
.glass-button--complete:active {
  background: rgba(255, 0, 0, 0.7);
}

.button-icon {
  width: 20px;
}
.button-icon[src$="arrow-left.svg"] {
  transform: rotate(180deg);
}

.overview {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(320px, 500px) 700px;
  gap: 40px;
  width: min(100% - 200px, 1240px);
  height: calc(100dvh - 160px);
  margin: clamp(0px, 2vh, 108px) auto 0;
}
.overview__intro :is(h1, h2) {
  margin: 0;
  color: #fff;
  font-size: 60px;
  font-weight: 450;
  line-height: 1;
  letter-spacing: -0.72px;
}
.overview__intro .overview__eyebrow {
  margin: 0 0 2px;
  color: #cb131d;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.48px;
}
.overview__intro .overview__description {
  font-size: 20px;
  font-weight: 250;
  line-height: 1.6;
  letter-spacing: 0.48px;
  margin-top: 28px;
  color: #fff;
  font-weight: 350;
}
@media (max-width: 1200px) {
  .overview__intro .overview__description {
    font-size: 16px;
    font-weight: 350;
  }
}
.overview__nav {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.overview__nav button,
.overview__nav a {
  position: relative;
  display: flex;
  align-items: center;
  height: 72px;
  gap: 20px;
  width: 100%;
  padding: 0 20px;
  overflow: hidden;
  border: 0;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0 4px rgba(255, 255, 255, 0.25), inset 0 4px 4px rgba(255, 255, 255, 0.25), 0 16px 40px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #fff;
  font-size: 24px;
  font-weight: 450;
  line-height: 1.3;
  letter-spacing: 1px;
  text-decoration: none;
  text-align: left;
  cursor: pointer;
  transition: background 180ms ease, box-shadow 180ms ease;
  flex-shrink: 0;
}
.overview__nav button::before,
.overview__nav a::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(153, 153, 153, 0.8) -1%, rgba(255, 255, 255, 0.9) 120%);
  content: "";
  pointer-events: none;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
}
.overview__nav button:hover,
.overview__nav a:hover {
  background: rgba(255, 255, 255, 0.4);
}
.overview__nav button:active,
.overview__nav a:active {
  background: rgba(255, 0, 0, 0.5);
  box-shadow: none;
}
.overview__nav button:active::before,
.overview__nav a:active::before {
  background: linear-gradient(180deg, rgb(255, 186, 186), rgb(153, 111, 111));
}
@media (max-width: 1200px) {
  .overview {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 16px;
  }
  .overview__nav {
    gap: 20px;
  }
  .overview__nav button,
.overview__nav a {
    font-size: 18px;
    height: 48px;
  }
  .overview__intro {
    text-align: left;
  }
  .overview__intro :is(h1, h2) {
    max-width: 560px;
  }
}
@media (max-width: 576px) {
  .overview__intro :is(h1, h2) {
    font-size: 42px;
    line-height: 1.2;
  }
  .overview__intro .overview__eyebrow {
    font-size: 28px;
    line-height: 1.5;
  }
  .overview__intro .overview__description {
    margin-top: 28px;
    font-size: 14px;
    font-weight: 450;
    line-height: 1.3;
    letter-spacing: 0.28px;
  }
  .overview__nav {
    margin-top: 8px;
  }
  .overview__nav button,
.overview__nav a {
    font-size: 16px;
    padding: 8px 12px 6px 12px;
    border-radius: 8px;
    height: 48px;
  }
}

.overview-card-group {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.overview-card-group__note {
  width: 100%;
  margin: 0;
  color: #dfdfdf;
  font-size: 18px;
  font-weight: 400;
  line-height: 16px;
}
@media (max-width: 576px) {
  .overview-card-group {
    gap: 10px;
  }
  .overview-card-group__note {
    font-size: 12px;
    line-height: 16px;
  }
}

.overview-card {
  justify-content: space-between;
}
.overview-card.is-complete {
  background: rgba(255, 255, 255, 0.24);
}
.overview-card.is-disable, .overview-card.is-disable:hover, .overview-card.is-disable:focus-visible, .overview-card.is-disable:active {
  background: rgba(255, 255, 255, 0.24);
}
.overview-card:disabled {
  background: rgba(255, 255, 255, 0.1);
  box-shadow: none;
  color: rgba(255, 255, 255, 0.5);
  cursor: default;
  transition: none;
}
.overview-card:disabled::before {
  opacity: 0.6;
}
.overview-card:disabled:hover, .overview-card:disabled:focus-visible, .overview-card:disabled:active {
  background: rgba(255, 255, 255, 0.1);
  box-shadow: none;
  color: rgba(255, 255, 255, 0.5);
}
.overview-card:disabled:hover::before, .overview-card:disabled:focus-visible::before, .overview-card:disabled:active::before {
  background: linear-gradient(90deg, rgba(153, 153, 153, 0.8) -1%, rgba(255, 255, 255, 0.9) 120%);
  opacity: 0.6;
}
.overview-card:is(.is-complete, .is-disable):disabled, .overview-card:is(.is-complete, .is-disable):disabled:hover, .overview-card:is(.is-complete, .is-disable):disabled:focus-visible, .overview-card:is(.is-complete, .is-disable):disabled:active {
  background: rgba(255, 255, 255, 0.24);
}
.overview-card__status {
  width: 40px;
}
@media (max-width: 1200px) {
  .overview-card__status {
    width: 32px;
  }
}
@media (max-width: 576px) {
  .overview-card__status {
    width: 24px;
  }
}

.survey {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(360px, 488px) minmax(560px, 672px);
  align-items: start;
  gap: clamp(20px, 5.6vw, 80px);
  width: min(100% - 80px, 1240px);
  height: var(--survey-layout-height);
  max-height: var(--survey-layout-height);
  margin: var(--survey-layout-top) auto 0;
}
.survey__aside {
  padding: 0px 20px;
}
.survey__aside h2 {
  font-size: 24px;
  font-weight: 450;
  line-height: 1.4;
  letter-spacing: 0.48px;
}
.survey__description, .survey__note {
  font-size: 14px;
  line-height: 1.5;
}
.survey__description {
  color: #fff;
  white-space: pre-line;
  font-weight: 350;
  margin: 12px 0 16px 0;
}
.survey__note {
  color: #cb131d;
  font-weight: 450;
  line-height: 1.6;
}
.survey__form {
  max-height: 68dvh;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: rgba(255, 255, 255, 0.35) transparent;
}
.survey__questions {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.survey__question-group {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.survey__question-group[hidden] {
  display: none;
}
.survey__message {
  margin: 24px 0 12px;
  color: #fc3a3a;
}
.survey__message:empty {
  display: none;
}
.survey__message:not(:empty) + .survey__actions {
  padding-top: 0 !important;
}
.survey__actions {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 0;
  padding-top: 64px;
  border: 0;
}
@media (max-width: 1200px) {
  .survey {
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  .survey__aside, .survey__form {
    width: 100%;
  }
  .survey__form {
    min-height: 0;
    max-height: none;
  }
}
@media (max-width: 576px) {
  .survey__aside {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .survey__actions {
    flex-direction: column;
    padding-top: 48px;
  }
}

.scroll-cue {
  position: fixed;
  z-index: 6;
  top: var(--scroll-cue-top);
  left: var(--scroll-cue-left);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 0 0 20px;
  margin-top: 8px;
  border: 0;
  background: transparent;
  font-family: inherit;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.8);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity 220ms ease, transform 220ms ease, visibility 0s linear 220ms;
}
.scroll-cue.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
  transition-delay: 0s;
}
.scroll-cue__icon {
  display: block;
  width: 24px;
  height: 24px;
  overflow: visible;
}
.scroll-cue__icon img {
  display: block;
  width: 100%;
  height: 100%;
  animation: scroll-cue-chevron-bounce 1.4s ease-in-out infinite;
}
.scroll-cue__label {
  font-size: 14px;
  font-weight: 450;
  line-height: 1.2;
  white-space: nowrap;
}
@keyframes scroll-cue-chevron-bounce {
  0%, 100% {
    transform: translateY(-4px);
  }
  50% {
    transform: translateY(4px);
  }
}
@media (max-width: 1200px) {
  .scroll-cue {
    padding-bottom: 0;
  }
}
@media (max-width: 768px) {
  .scroll-cue {
    top: auto;
    bottom: 12%;
  }
  .scroll-cue__icon {
    width: 18px;
    height: 18px;
  }
  .scroll-cue__label {
    font-size: 12px;
  }
}

@media (max-width: 576px) {
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__aside {
    position: relative;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__aside h2 {
    display: flex;
    align-items: center;
    font-size: 18px;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__aside .survey__description,
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__aside .survey__note {
    display: none;
  }
}

.survey-track-nav {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  margin: 20px 0 0;
}
.survey-track-nav[hidden] {
  display: none;
}
.survey-track-nav button {
  position: relative;
  min-height: 62px;
  padding: 12px 24px;
  border: 0;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font: inherit;
  font-size: 16px;
  font-weight: 450;
  text-align: left;
  cursor: pointer;
}
.survey-track-nav button::before {
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(90.35deg, transparent -3.42%, #ccc 5%, #999 41.08%, #ccc 93.49%, rgba(249, 249, 249, 0.1) 105%);
  content: "";
  pointer-events: none;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.survey-track-nav button:hover {
  background: rgba(255, 255, 255, 0.2);
}
.survey-track-nav button.is-active {
  background: rgba(255, 0, 0, 0.5);
  font-size: 16px;
  font-weight: 600;
}
@media (max-width: 1200px) {
  .survey-track-nav {
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
    padding-bottom: 32px;
  }
}
@media (max-width: 576px) {
  .survey-track-nav {
    gap: 12px;
    padding-bottom: 28px;
  }
  .survey-track-nav button {
    min-height: 48px;
    padding: 8px 12px;
    font-size: 14px;
  }
}

.check-in-page[data-current-screen=survey][data-current-flow=tracks] .survey__aside p {
  display: block;
  margin: 8px 0 0;
}
.check-in-page[data-current-screen=survey][data-current-flow=tracks] .question legend {
  font-size: 14px;
  font-weight: 450;
  line-height: 1.5;
}
.check-in-page[data-current-screen=survey][data-current-flow=tracks] .question__session-meta {
  margin-bottom: 0;
  line-height: 1.8;
}
.check-in-page[data-current-screen=survey][data-current-flow=tracks] .question__scale {
  margin-top: 8px;
}
.check-in-page[data-current-screen=survey][data-current-flow=tracks] .question__scale label {
  min-height: 48px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.8;
}
.check-in-page[data-current-screen=survey][data-current-flow=tracks] .survey__question-group {
  gap: 28px;
}
.check-in-page[data-current-screen=survey][data-current-flow=tracks] .survey__question-group > .question {
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
.check-in-page[data-current-screen=survey][data-current-flow=tracks] .survey__question-group > .question:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
@media (max-width: 576px) {
  .check-in-page[data-current-screen=survey][data-current-flow=tracks] .question__scale {
    margin-top: 0;
  }
}

.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__aside {
  padding: 0 20px;
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__aside h2 {
  width: 100%;
  font-size: 28px;
  line-height: 1.3;
  letter-spacing: -0.6px;
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__aside p {
  display: none;
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__form {
  display: flex;
  flex-direction: column;
  padding: 0 56px 0 40px;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__actions {
  justify-content: space-between;
  flex: 0 0 auto;
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__actions [data-previous][hidden] {
  display: none;
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__actions:has([data-previous][hidden]) {
  justify-content: center;
}
@media (max-width: 1200px) {
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey {
    padding-right: 16px;
    gap: 32px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: rgba(255, 255, 255, 0.35) transparent;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__aside, .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__form {
    padding-inline: 0;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__form {
    padding-right: 0;
    overflow: visible;
  }
}
@media (max-width: 576px) {
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey {
    gap: 0px;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__aside {
    flex: 0 0 auto;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__aside h2 {
    font-size: 18px;
    line-height: 1.2;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__aside .glass-button {
    display: none;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__form {
    flex: 0 0 auto;
    flex-shrink: 0;
    width: 100%;
    height: auto;
    min-height: max-content;
    padding: 0;
    margin-top: 28px;
  }
  .check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey__actions {
    align-items: center;
    gap: 20px;
  }
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey .question {
  display: flex;
  flex-direction: column;
  height: auto;
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey .question.poll-question legend {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  column-gap: 8px;
  flex: 0 0 auto;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey .question.poll-question legend .question__number {
  color: #fff;
  font-weight: 600;
  text-align: right;
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey .question.poll-question legend .question__prompt {
  min-width: 0;
  color: #fff;
}
.check-in-page[data-current-screen=survey]:is([data-current-flow=polls], [data-current-flow=event], [data-current-flow=tracks]) .survey .question.poll-question legend small {
  display: block;
  color: #ff4751;
  font: inherit;
}

@media (min-width: 769px) {
  .check-in-page[data-step-kind=track-comment] .question__textarea-shell,
.check-in-page[data-step-kind=track-comment] .question textarea {
    height: 350px;
    min-height: 350px;
  }
}
.check-in-page[data-current-screen=survey][data-current-flow=event] .survey__aside .survey__description,
.check-in-page[data-current-screen=survey][data-current-flow=event] .survey__aside .survey__note {
  display: block;
}

.check-in-page[data-current-screen=survey][data-current-flow=event][data-current-step="0"] .survey__actions {
  padding-top: 0;
}

.check-in-page[data-current-screen=survey][data-current-flow=polls] .question.poll-question .question__error.is-visible {
  margin-top: 24px;
}
.check-in-page[data-current-screen=survey][data-current-flow=polls] .survey__actions {
  padding-top: 40px;
}
.check-in-page[data-current-screen=survey][data-current-flow=polls] .survey__form:has(.question__error.is-visible) .survey__actions {
  padding-top: 12px;
}

.check-in-page[data-current-screen=survey][data-current-flow=tracks] .survey__aside .survey__track-prompt {
  display: block;
  margin: 8px 0 0;
  font-size: 20px;
  font-weight: 450;
  line-height: 1.5;
}
.check-in-page[data-current-screen=survey][data-current-flow=tracks] .survey__aside .survey__track-prompt[hidden] {
  display: none;
}

.question {
  border: 0;
  margin: 0;
  padding: 0;
}
.question legend,
.question label {
  font-size: 14px;
  line-height: 1.4;
}
.question legend {
  width: 100%;
  margin-bottom: 8px;
}
.question__heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  column-gap: 4px;
  color: #fff;
  text-align: left;
}
.question__heading--session {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}
.question__heading--session .question__session-meta,
.question__heading--session .question__session-title {
  grid-column: 1;
}
.question__heading--session .question__required {
  grid-column: 2;
  grid-row: 1/span 2;
  justify-self: end;
}
.question__number {
  font-weight: 700;
}
.question__prompt {
  min-width: 0;
  font-weight: 400;
  text-align: left;
}
.question__required {
  visibility: hidden;
  color: #ff3238;
  font-weight: 600;
}
.question__error {
  display: none;
  margin-top: 12px;
  color: #fc3a3a;
  font-size: 14px;
  line-height: 1.5;
}
.question__error.is-visible {
  display: block;
}
.question.poll-question .question__error {
  width: 100%;
  text-align: center;
}
.question__session-meta, .question__session-title {
  display: block;
}
legend .question__session-meta {
  margin-bottom: 0;
  color: #cb131d;
  font-weight: 450;
  line-height: 1.8;
}
legend .question__session-title {
  color: #fff;
  font-weight: 450;
  line-height: 1.5;
}
.question__scale {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.question__scale--5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.question__scale--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 768px) {
  .question__scale--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.question__scale.question__scale--text label {
  font-weight: 400;
}
@media (max-width: 768px) {
  .question__scale.question__scale--text label {
    font-size: 13px;
    white-space: nowrap;
  }
}
.question__scale label {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 48px;
  border: 0;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.1);
  font-weight: 450;
  cursor: pointer;
}
.question__scale label::before {
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(90.35deg, transparent -1.42%, #ccc 5%, #999 41.08%, #ccc 93.49%, rgba(249, 249, 249, 0.1) 102%);
  content: "";
  pointer-events: none;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.question__scale label:hover {
  background: rgba(255, 255, 255, 0.4);
}
.question__scale label.is-selected {
  background: rgba(255, 0, 0, 0.5);
}
.question__scale label input {
  position: absolute;
  opacity: 0;
}
.question textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 162px;
  min-height: 100%;
  padding: 20px;
  resize: none;
  border: 0;
  border-radius: 11px;
  outline: 0;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font: inherit;
}
.question textarea::placeholder {
  color: rgba(255, 255, 255, 0.7);
}
.question__textarea-shell {
  position: relative;
  height: 162px;
  min-height: 162px;
  overflow: hidden;
  border-radius: 11px;
  box-shadow: 0 5.443px 21.317px rgba(0, 0, 0, 0.1);
}
.question__textarea-shell::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(90.35deg, transparent -3.42%, #ccc 5%, #999 41.08%, #ccc 93.49%, rgba(249, 249, 249, 0.1) 105%);
  content: "";
  pointer-events: none;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.question__textarea-shell:hover textarea {
  background: rgba(255, 255, 255, 0.2);
}
.question__textarea-shell:focus-within textarea {
  background: rgba(255, 255, 255, 0.4);
}
.question--comment > label {
  display: block;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.question__scale-note {
  margin: 60px 0 16px;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 140%;
  text-align: center;
}
@media (max-width: 576px) {
  .question__scale-note {
    margin: 24px 0 12px;
  }
}

.qr-dialog {
  width: min(100% - 48px, 480px);
  padding: 0;
  border: 0;
  border-radius: 20px;
  background: rgba(79, 79, 79, 0.9);
  color: #fff;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
}
.qr-dialog::backdrop {
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(2px);
}
.qr-dialog__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 40px;
}
.qr-dialog__content > .qr-dialog__image {
  width: min(100%, 360px);
  aspect-ratio: 1;
  border-radius: 28.5px;
  object-fit: cover;
}
.qr-dialog__code {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  margin: 0;
  font-weight: 600;
  text-transform: uppercase;
}
.qr-dialog__code span,
.qr-dialog__code strong {
  font-size: 24px;
  line-height: 1.2;
}
.qr-dialog__code i {
  font-size: 12px;
  font-style: normal;
}
.qr-dialog__footer {
  display: flex;
  justify-content: center;
  width: 100%;
  padding-top: 24px;
  border-top: 1px solid rgba(243, 244, 246, 0.6);
}
.qr-dialog__footer .glass-button {
  gap: 8px;
}
@media (max-width: 768px) {
  .qr-dialog {
    width: min(100% - 40px, 335px);
  }
  .qr-dialog__content {
    gap: 16px;
    padding: 32px 38.5px;
  }
  .qr-dialog__content > .qr-dialog__image {
    width: 258px;
    border-radius: 20px;
  }
  .qr-dialog__code {
    gap: 8px;
  }
  .qr-dialog__code span,
.qr-dialog__code strong {
    font-size: 18px;
  }
  .qr-dialog__footer {
    padding-top: 16px;
  }
  .qr-dialog__footer .glass-button {
    gap: 4px;
  }
  .qr-dialog__footer .glass-button .button-icon {
    width: 20px;
    height: 20px;
  }
}

.complete {
  position: relative;
  z-index: 3;
  width: min(100% - 200px, 1240px);
  margin: clamp(24px, 5vh, 108px) auto 0;
}
.complete__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  width: 632px;
}
.complete__content h2,
.complete__content p {
  margin: 0;
}
.complete__content h2 {
  margin-top: 20px;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.72px;
}
.complete__content p {
  margin-top: 20px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.48px;
}
.complete__content .complete__message {
  margin-top: 20px;
}
.complete__content .complete__message p {
  margin: 0;
  white-space: nowrap;
}
.complete__content .glass-button {
  margin-top: 40px;
}
.complete__icon {
  width: 100px;
  height: 100px;
}
@media (max-width: 1200px) {
  .complete__content {
    width: 100%;
  }
  .complete__content h2 {
    font-size: 36px;
    font-weight: 550;
    line-height: 1.2;
    letter-spacing: -0.72px;
  }
  .complete__content p {
    font-size: 20px;
  }
}
@media (max-width: 576px) {
  .complete {
    padding-top: 40px;
  }
  .complete__content h2 {
    margin-top: 0;
    font-size: 28px;
    line-height: 1.2;
  }
  .complete__content p {
    display: block;
    width: 100%;
    margin-top: 12px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.28px;
    white-space: nowrap;
  }
  .complete__content .complete__message {
    margin-top: 12px;
  }
  .complete__content .complete__message p {
    margin: 0;
  }
  .complete__content .glass-button {
    margin-top: 40px;
  }
  .complete__icon {
    width: 60px;
    height: 60px;
  }
}

.redemption {
  position: relative;
  z-index: 3;
  width: min(100% - 168px, 1206px);
  height: calc(100dvh - 80px);
  margin: clamp(20px, 3vh, 108px) auto 0;
}
.redemption__intro {
  position: absolute;
  top: 133px;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  width: 600px;
}
.redemption__intro h2 {
  margin: 0;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.6px;
}
.redemption__intro h2 span {
  display: block;
}
.redemption__intro p {
  margin: 0;
  font-size: 20px;
  font-weight: 450;
  line-height: 1.6;
  letter-spacing: 0.48px;
  max-width: 470px;
}
.redemption__reward {
  position: absolute;
  top: 165px;
  right: 161px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.redemption__qr, .redemption__code {
  position: relative;
  z-index: 2;
}
.redemption__qr {
  width: 240px;
  height: 240px;
  border-radius: 19px;
  object-fit: cover;
}
.redemption__code {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 240px;
  font-weight: 600;
  white-space: nowrap;
}
.redemption__code span {
  color: #f2f2f2;
  font-size: 16px;
  line-height: 1.2;
  text-transform: uppercase;
}
.redemption__code i {
  display: none;
  color: #c0c0c0;
  font-size: 12px;
  font-style: normal;
  line-height: 1.3;
  letter-spacing: 1px;
}
.redemption__code strong {
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -0.18px;
}
.redemption__home {
  margin-top: 20px;
}
.redemption__home--mobile {
  display: none;
}
@media (max-width: 1200px) {
  .redemption {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: min(100% - 96px, 672px);
    height: auto;
  }
  .redemption__intro, .redemption__reward {
    position: static;
  }
  .redemption__intro {
    align-items: center;
    width: 100%;
    text-align: center;
  }
  .redemption__intro h2 {
    font-size: 48px;
  }
  .redemption__intro p {
    max-width: 600px;
  }
}
@media (max-width: 576px) {
  .redemption {
    gap: 24px;
    width: calc(100% - 40px);
  }
  .redemption__intro {
    gap: 16px;
  }
  .redemption__intro h2 {
    font-size: 23px;
    font-weight: 700;
    letter-spacing: -0.6px;
  }
  .redemption__intro h2 span {
    display: inline;
  }
  .redemption__intro p {
    max-width: 335px;
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: 0;
  }
  .redemption__reward {
    gap: 20px;
  }
  .redemption__qr {
    width: 200px;
    height: 200px;
  }
  .redemption__home--desktop {
    display: none;
  }
  .redemption__home--mobile {
    display: flex;
    width: 180px;
    min-width: 180px;
    margin-top: 0;
  }
  .redemption__code {
    flex-direction: row;
  }
  .redemption__code i {
    display: inline;
  }
  .redemption__code span {
    font-size: 16px;
  }
  .redemption__code strong {
    font-size: 18px;
  }
}

@media screen and (orientation: landscape) and (min-width: 768px) and (max-width: 1200px) and (max-height: 799px) {
  .redemption.content-container {
    width: 80vw;
    max-width: none;
  }
  .redemption__intro {
    width: 80vw;
  }
  .redemption__intro h2,
.redemption__intro p {
    white-space: nowrap;
  }
  .redemption__intro h2 span {
    display: inline;
  }
  .redemption__intro p {
    max-width: none;
  }
}
@media (max-width: 1200px) {
  .content-container {
    width: calc(100% - 96px);
    max-width: 672px;
  }
}
@media (max-width: 576px) {
  .content-container {
    width: calc(100% - 40px);
  }
}

@media (max-width: 1200px) {
  .overview__intro .overview__eyebrow,
.overview__intro :is(h1, h2) {
    font-size: 36px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.72px;
  }
}
@media screen and (orientation: landscape) and (min-width: 768px) and (max-width: 1200px) and (max-height: 799px) {
  .overview__intro .overview__eyebrow,
.overview__intro :is(h1, h2) {
    font-size: 28px;
  }
}

@media (max-width: 768px) {
  .check-in-page :is(input, textarea, select) {
    font-size: 16px;
  }
}
@media (max-width: 576px) {
  .check-in-page :is(input, select) {
    font-size: 14px;
  }
}
@media (max-width: 576px) {
  .overview__intro .overview__eyebrow {
    font-size: 26px;
    line-height: 1.2;
    letter-spacing: -0.36px;
  }
}

@media (max-width: 576px) {
  .overview__intro :is(h1, h2) {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: -0.36px;
  }
}

@media (max-width: 1200px) {
  .check-in-page[data-current-screen=survey][data-current-flow=tracks] .survey__form,
.check-in-page[data-current-screen=survey][data-current-flow=tracks] .survey__questions,
.check-in-page[data-current-screen=survey][data-current-flow=tracks] .survey__questions-dynamic,
.check-in-page[data-current-screen=survey][data-current-flow=tracks] .survey__question-group {
    display: block;
    height: auto;
    min-height: 0;
  }
  .check-in-page[data-current-screen=survey][data-current-flow=tracks] .survey__question-group > .question {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0 0 28px;
  }
  .check-in-page[data-current-screen=survey][data-current-flow=tracks] .survey__question-group > .question:last-child {
    margin-bottom: 0;
  }
}
.rotate-warning {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: none;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 32px;
  background: #000;
  color: #fff;
  text-align: center;
}
.rotate-warning__icon {
  position: relative;
  width: 42px;
  height: 68px;
  margin-bottom: 12px;
  border: 3px solid currentColor;
  border-radius: 8px;
}
.rotate-warning__icon::after {
  content: "↻";
  position: absolute;
  top: 50%;
  left: calc(100% + 16px);
  font-size: 36px;
  line-height: 1;
  transform: translateY(-50%);
}
.rotate-warning strong {
  font-size: 28px;
  font-weight: 600;
}
.rotate-warning p {
  color: #dfdfdf;
  font-size: 16px;
}

@media screen and (orientation: landscape) and (max-width: 970px) and (max-height: 576px) and (hover: none) and (pointer: coarse) {
  .rotate-warning {
    display: grid;
  }
}
@media (max-width: 1200px) {
  .welcome-page .check-in-page__chips {
    transform: translateY(-10%);
  }
  .welcome-page .check-in-page__red-landscape img {
    height: calc(45.902778vw + 10dvh);
  }
}
@media (max-width: 1200px) and (max-width: 576px) {
  .welcome-page .check-in-page__red-landscape img {
    height: calc(83.733333vw + 10dvh);
  }
}
.welcome {
  position: relative;
  z-index: 3;
  width: min(100% - 200px, 1240px);
  margin: 60px auto 0;
}
.welcome h1 {
  margin: 0;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.48px;
}
.welcome h1 span {
  color: #cb131d;
}
.welcome p {
  margin: 28px 0 0;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.48px;
}
@media (max-width: 1200px) {
  .welcome {
    width: calc(100% - 96px);
    margin-top: 40px;
  }
  .welcome h1 {
    font-size: 36px;
  }
  .welcome p {
    max-width: 640px;
    font-size: 20px;
  }
}
@media (max-width: 576px) {
  .welcome {
    width: calc(100% - 40px);
    margin-top: 80px;
  }
  .welcome h1 {
    font-size: 28px;
  }
  .welcome p {
    margin-top: 20px;
    font-size: 16px;
  }
}

@media (min-width: 1201px) {
  .check-in-page.welcome-page[data-current-screen=overview] .check-in-page__hero-chip {
    top: 8.625%;
    left: 61.788%;
    width: 590px;
  }
  .check-in-page.welcome-page[data-current-screen=overview] .page-chip {
    display: block;
    bottom: auto;
    right: auto;
  }
  .check-in-page.welcome-page[data-current-screen=overview] .page-chip--1 {
    top: 57.9375%;
    left: 9.514%;
    width: 57px;
  }
  .check-in-page.welcome-page[data-current-screen=overview] .page-chip--2 {
    top: 66.5625%;
    left: 21.474%;
    width: 100px;
  }
  .check-in-page.welcome-page[data-current-screen=overview] .page-chip--3 {
    top: 64.6875%;
    left: 37.505%;
    width: 100px;
  }
  .check-in-page.welcome-page[data-current-screen=overview] .page-chip--4 {
    top: 55.875%;
    left: 49.732%;
    width: 67px;
  }
  .check-in-page.welcome-page[data-current-screen=overview] .page-chip--5 {
    top: 63.875%;
    left: 64.072%;
    width: 96px;
  }
  .check-in-page.welcome-page[data-current-screen=overview] .page-chip--6 {
    top: 62.5625%;
    left: 84.402%;
    width: 67px;
  }
}
.survey__actions > .glass-button {
  flex: 0 0 var(--action-button-width, auto);
  width: var(--action-button-width, max-content);
}

@media (max-width: 576px) {
  .survey__actions > .glass-button {
    flex: 0 0 auto;
  }
}

/*# sourceMappingURL=styles.css.map */
