@charset "UTF-8";
/* Fruit Attraction 2026 — la landing «Check-in» de Drool (lab.droolstudio.com/fe-checkin/). Hoja propia, que
   solo carga esta página: tiene su diseño, sus variables y sus clases, que no son las de styles.css. En el orden
   del original: primero Plyr, después la landing, y al final el banner de cookies, que no venía en el diseño. */
/* Plyr 3.7.8 — plyr.css del paquete npm, sin cambios salvo el @charset, que pone Sass. Lo usa la landing de
   Fruit Attraction 2026 para los vídeos. */
@keyframes plyr-progress {
  to {
    background-position: 25px 0;
    background-position: var(--plyr-progress-loading-size, 25px) 0;
  }
}
@keyframes plyr-popup {
  0% {
    opacity: 0.5;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes plyr-fade-in {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.plyr {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  align-items: center;
  direction: ltr;
  display: flex;
  flex-direction: column;
  font-family: inherit;
  font-family: var(--plyr-font-family, inherit);
  font-variant-numeric: tabular-nums;
  font-weight: 400;
  font-weight: var(--plyr-font-weight-regular, 400);
  line-height: 1.7;
  line-height: var(--plyr-line-height, 1.7);
  max-width: 100%;
  min-width: 200px;
  position: relative;
  text-shadow: none;
  transition: box-shadow 0.3s ease;
  z-index: 0;
}

.plyr audio, .plyr iframe, .plyr video {
  display: block;
  height: 100%;
  width: 100%;
}

.plyr button {
  font: inherit;
  line-height: inherit;
  width: auto;
}

.plyr:focus {
  outline: 0;
}

.plyr--full-ui {
  box-sizing: border-box;
}

.plyr--full-ui *, .plyr--full-ui :after, .plyr--full-ui :before {
  box-sizing: inherit;
}

.plyr--full-ui a, .plyr--full-ui button, .plyr--full-ui input, .plyr--full-ui label {
  touch-action: manipulation;
}

.plyr__badge {
  background: #4a5464;
  background: var(--plyr-badge-background, #4a5464);
  border-radius: 2px;
  border-radius: var(--plyr-badge-border-radius, 2px);
  color: #fff;
  color: var(--plyr-badge-text-color, #fff);
  font-size: 9px;
  font-size: var(--plyr-font-size-badge, 9px);
  line-height: 1;
  padding: 3px 4px;
}

.plyr--full-ui ::-webkit-media-text-track-container {
  display: none;
}

.plyr__captions {
  animation: plyr-fade-in 0.3s ease;
  bottom: 0;
  display: none;
  font-size: 13px;
  font-size: var(--plyr-font-size-small, 13px);
  left: 0;
  padding: 10px;
  padding: var(--plyr-control-spacing, 10px);
  position: absolute;
  text-align: center;
  transition: transform 0.4s ease-in-out;
  width: 100%;
}

.plyr__captions span:empty {
  display: none;
}

@media (min-width: 480px) {
  .plyr__captions {
    font-size: 15px;
    font-size: var(--plyr-font-size-base, 15px);
    padding: 20px;
    padding: calc(var(--plyr-control-spacing, 10px) * 2);
  }
}
@media (min-width: 768px) {
  .plyr__captions {
    font-size: 18px;
    font-size: var(--plyr-font-size-large, 18px);
  }
}
.plyr--captions-active .plyr__captions {
  display: block;
}

.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty) ~ .plyr__captions {
  transform: translateY(-40px);
  transform: translateY(calc(var(--plyr-control-spacing, 10px) * -4));
}

.plyr__caption {
  background: rgba(0, 0, 0, 0.8);
  background: var(--plyr-captions-background, rgba(0, 0, 0, 0.8));
  border-radius: 2px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  color: #fff;
  color: var(--plyr-captions-text-color, #fff);
  line-height: 185%;
  padding: 0.2em 0.5em;
  white-space: pre-wrap;
}

.plyr__caption div {
  display: inline;
}

.plyr__control {
  background: rgba(0, 0, 0, 0);
  border: 0;
  border-radius: 4px;
  border-radius: var(--plyr-control-radius, 4px);
  color: inherit;
  cursor: pointer;
  flex-shrink: 0;
  overflow: visible;
  padding: 7px;
  padding: calc(var(--plyr-control-spacing, 10px) * 0.7);
  position: relative;
  transition: all 0.3s ease;
}

.plyr__control svg {
  fill: currentColor;
  display: block;
  height: 18px;
  height: var(--plyr-control-icon-size, 18px);
  pointer-events: none;
  width: 18px;
  width: var(--plyr-control-icon-size, 18px);
}

.plyr__control:focus {
  outline: 0;
}

.plyr__control:focus-visible {
  outline: 2px dashed #00b2ff;
  outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
  outline-offset: 2px;
}

a.plyr__control {
  text-decoration: none;
}

.plyr__control.plyr__control--pressed .icon--not-pressed, .plyr__control.plyr__control--pressed .label--not-pressed, .plyr__control:not(.plyr__control--pressed) .icon--pressed, .plyr__control:not(.plyr__control--pressed) .label--pressed, a.plyr__control:after, a.plyr__control:before {
  display: none;
}

.plyr--full-ui ::-webkit-media-controls {
  display: none;
}

.plyr__controls {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  text-align: center;
}

.plyr__controls .plyr__progress__container {
  flex: 1;
  min-width: 0;
}

.plyr__controls .plyr__controls__item {
  margin-left: 2.5px;
  margin-left: calc(var(--plyr-control-spacing, 10px) / 4);
}

.plyr__controls .plyr__controls__item:first-child {
  margin-left: 0;
  margin-right: auto;
}

.plyr__controls .plyr__controls__item.plyr__progress__container {
  padding-left: 2.5px;
  padding-left: calc(var(--plyr-control-spacing, 10px) / 4);
}

.plyr__controls .plyr__controls__item.plyr__time {
  padding: 0 5px;
  padding: 0 calc(var(--plyr-control-spacing, 10px) / 2);
}

.plyr__controls .plyr__controls__item.plyr__progress__container:first-child, .plyr__controls .plyr__controls__item.plyr__time + .plyr__time, .plyr__controls .plyr__controls__item.plyr__time:first-child {
  padding-left: 0;
}

.plyr [data-plyr=airplay], .plyr [data-plyr=captions], .plyr [data-plyr=fullscreen], .plyr [data-plyr=pip], .plyr__controls:empty {
  display: none;
}

.plyr--airplay-supported [data-plyr=airplay], .plyr--captions-enabled [data-plyr=captions], .plyr--fullscreen-enabled [data-plyr=fullscreen], .plyr--pip-supported [data-plyr=pip] {
  display: inline-block;
}

.plyr__menu {
  display: flex;
  position: relative;
}

.plyr__menu .plyr__control svg {
  transition: transform 0.3s ease;
}

.plyr__menu .plyr__control[aria-expanded=true] svg {
  transform: rotate(90deg);
}

.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip {
  display: none;
}

.plyr__menu__container {
  animation: plyr-popup 0.2s ease;
  background: rgba(255, 255, 255, 0.9019607843);
  background: var(--plyr-menu-background, rgba(255, 255, 255, 0.9019607843));
  border-radius: 8px;
  border-radius: var(--plyr-menu-radius, 8px);
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1490196078);
  box-shadow: var(--plyr-menu-shadow, 0 1px 2px rgba(0, 0, 0, 0.1490196078));
  color: #4a5464;
  color: var(--plyr-menu-color, #4a5464);
  font-size: 15px;
  font-size: var(--plyr-font-size-base, 15px);
  margin-bottom: 10px;
  position: absolute;
  right: -3px;
  text-align: left;
  white-space: nowrap;
  z-index: 3;
}

.plyr__menu__container > div {
  overflow: hidden;
  transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.plyr__menu__container:after {
  border: 4px solid rgba(0, 0, 0, 0);
  border-top-color: rgba(255, 255, 255, 0.9019607843);
  border: var(--plyr-menu-arrow-size, 4px) solid rgba(0, 0, 0, 0);
  border-top-color: var(--plyr-menu-background, rgba(255, 255, 255, 0.9019607843));
  content: "";
  height: 0;
  position: absolute;
  right: 14px;
  right: calc(var(--plyr-control-icon-size, 18px) / 2 + var(--plyr-control-spacing, 10px) * 0.7 - var(--plyr-menu-arrow-size, 4px) / 2);
  top: 100%;
  width: 0;
}

.plyr__menu__container [role=menu] {
  padding: 7px;
  padding: calc(var(--plyr-control-spacing, 10px) * 0.7);
}

.plyr__menu__container [role=menuitem], .plyr__menu__container [role=menuitemradio] {
  margin-top: 2px;
}

.plyr__menu__container [role=menuitem]:first-child, .plyr__menu__container [role=menuitemradio]:first-child {
  margin-top: 0;
}

.plyr__menu__container .plyr__control {
  align-items: center;
  color: #4a5464;
  color: var(--plyr-menu-color, #4a5464);
  display: flex;
  font-size: 13px;
  font-size: var(--plyr-font-size-menu, var(--plyr-font-size-small, 13px));
  padding: 4.66667px 10.5px;
  padding: calc(var(--plyr-control-spacing, 10px) * 0.7 / 1.5) calc(var(--plyr-control-spacing, 10px) * 0.7 * 1.5);
  -webkit-user-select: none;
  user-select: none;
  width: 100%;
}

.plyr__menu__container .plyr__control > span {
  align-items: inherit;
  display: flex;
  width: 100%;
}

.plyr__menu__container .plyr__control:after {
  border: 4px solid rgba(0, 0, 0, 0);
  border: var(--plyr-menu-item-arrow-size, 4px) solid rgba(0, 0, 0, 0);
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.plyr__menu__container .plyr__control--forward {
  padding-right: 28px;
  padding-right: calc(var(--plyr-control-spacing, 10px) * 0.7 * 4);
}

.plyr__menu__container .plyr__control--forward:after {
  border-left-color: #728197;
  border-left-color: var(--plyr-menu-arrow-color, #728197);
  right: 6.5px;
  right: calc(var(--plyr-control-spacing, 10px) * 0.7 * 1.5 - var(--plyr-menu-item-arrow-size, 4px));
}

.plyr__menu__container .plyr__control--forward:focus-visible:after, .plyr__menu__container .plyr__control--forward:hover:after {
  border-left-color: initial;
}

.plyr__menu__container .plyr__control--back {
  font-weight: 400;
  font-weight: var(--plyr-font-weight-regular, 400);
  margin: 7px;
  margin: calc(var(--plyr-control-spacing, 10px) * 0.7);
  margin-bottom: 3.5px;
  margin-bottom: calc(var(--plyr-control-spacing, 10px) * 0.7 / 2);
  padding-left: 28px;
  padding-left: calc(var(--plyr-control-spacing, 10px) * 0.7 * 4);
  position: relative;
  width: calc(100% - 14px);
  width: calc(100% - var(--plyr-control-spacing, 10px) * 0.7 * 2);
}

.plyr__menu__container .plyr__control--back:after {
  border-right-color: #728197;
  border-right-color: var(--plyr-menu-arrow-color, #728197);
  left: 6.5px;
  left: calc(var(--plyr-control-spacing, 10px) * 0.7 * 1.5 - var(--plyr-menu-item-arrow-size, 4px));
}

.plyr__menu__container .plyr__control--back:before {
  background: #dcdfe5;
  background: var(--plyr-menu-back-border-color, #dcdfe5);
  box-shadow: 0 1px 0 #fff;
  box-shadow: 0 1px 0 var(--plyr-menu-back-border-shadow-color, #fff);
  content: "";
  height: 1px;
  left: 0;
  margin-top: 3.5px;
  margin-top: calc(var(--plyr-control-spacing, 10px) * 0.7 / 2);
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 100%;
}

.plyr__menu__container .plyr__control--back:focus-visible:after, .plyr__menu__container .plyr__control--back:hover:after {
  border-right-color: initial;
}

.plyr__menu__container .plyr__control[role=menuitemradio] {
  padding-left: 7px;
  padding-left: calc(var(--plyr-control-spacing, 10px) * 0.7);
}

.plyr__menu__container .plyr__control[role=menuitemradio]:after, .plyr__menu__container .plyr__control[role=menuitemradio]:before {
  border-radius: 100%;
}

.plyr__menu__container .plyr__control[role=menuitemradio]:before {
  background: rgba(0, 0, 0, 0.1019607843);
  content: "";
  display: block;
  flex-shrink: 0;
  height: 16px;
  margin-right: 10px;
  margin-right: var(--plyr-control-spacing, 10px);
  transition: all 0.3s ease;
  width: 16px;
}

.plyr__menu__container .plyr__control[role=menuitemradio]:after {
  background: #fff;
  border: 0;
  height: 6px;
  left: 12px;
  opacity: 0;
  top: 50%;
  transform: translateY(-50%) scale(0);
  transition: transform 0.3s ease, opacity 0.3s ease;
  width: 6px;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before {
  background: #00b2ff;
  background: var(--plyr-control-toggle-checked-background, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible:before, .plyr__menu__container .plyr__control[role=menuitemradio]:hover:before {
  background: rgba(35, 40, 47, 0.1019607843);
}

.plyr__menu__container .plyr__menu__value {
  align-items: center;
  display: flex;
  margin-left: auto;
  margin-right: -5px;
  margin-right: calc(var(--plyr-control-spacing, 10px) * 0.7 * -1 + 2px);
  overflow: hidden;
  padding-left: 24.5px;
  padding-left: calc(var(--plyr-control-spacing, 10px) * 0.7 * 3.5);
  pointer-events: none;
}

.plyr--full-ui input[type=range] {
  -webkit-appearance: none;
  appearance: none;
  background: rgba(0, 0, 0, 0);
  border: 0;
  border-radius: 26px;
  border-radius: calc(var(--plyr-range-thumb-height, 13px) * 2);
  color: #00b2ff;
  color: var(--plyr-range-fill-background, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
  display: block;
  height: 19px;
  height: calc(var(--plyr-range-thumb-active-shadow-width, 3px) * 2 + var(--plyr-range-thumb-height, 13px));
  margin: 0;
  min-width: 0;
  padding: 0;
  transition: box-shadow 0.3s ease;
  width: 100%;
}

.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {
  background: rgba(0, 0, 0, 0);
  background-image: linear-gradient(90deg, currentColor 0, rgba(0, 0, 0, 0) 0);
  background-image: linear-gradient(to right, currentColor var(--value, 0), rgba(0, 0, 0, 0) var(--value, 0));
  border: 0;
  border-radius: 2.5px;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
  user-select: none;
}

.plyr--full-ui input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  background: #fff;
  background: var(--plyr-range-thumb-background, #fff);
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2);
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2));
  height: 13px;
  height: var(--plyr-range-thumb-height, 13px);
  margin-top: -4px;
  margin-top: calc((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px)) / 2 * -1);
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 13px;
  width: var(--plyr-range-thumb-height, 13px);
}

.plyr--full-ui input[type=range]::-moz-range-track {
  background: rgba(0, 0, 0, 0);
  border: 0;
  border-radius: 2.5px;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  -moz-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  user-select: none;
}

.plyr--full-ui input[type=range]::-moz-range-thumb {
  background: #fff;
  background: var(--plyr-range-thumb-background, #fff);
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2);
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2));
  height: 13px;
  height: var(--plyr-range-thumb-height, 13px);
  position: relative;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 13px;
  width: var(--plyr-range-thumb-height, 13px);
}

.plyr--full-ui input[type=range]::-moz-range-progress {
  background: currentColor;
  border-radius: 2.5px;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
}

.plyr--full-ui input[type=range]::-ms-track {
  color: rgba(0, 0, 0, 0);
}

.plyr--full-ui input[type=range]::-ms-fill-upper, .plyr--full-ui input[type=range]::-ms-track {
  background: rgba(0, 0, 0, 0);
  border: 0;
  border-radius: 2.5px;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  user-select: none;
}

.plyr--full-ui input[type=range]::-ms-fill-lower {
  background: rgba(0, 0, 0, 0);
  background: currentColor;
  border: 0;
  border-radius: 2.5px;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  user-select: none;
}

.plyr--full-ui input[type=range]::-ms-thumb {
  background: #fff;
  background: var(--plyr-range-thumb-background, #fff);
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2);
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2));
  height: 13px;
  height: var(--plyr-range-thumb-height, 13px);
  margin-top: 0;
  position: relative;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 13px;
  width: var(--plyr-range-thumb-height, 13px);
}

.plyr--full-ui input[type=range]::-ms-tooltip {
  display: none;
}

.plyr--full-ui input[type=range]::-moz-focus-outer {
  border: 0;
}

.plyr--full-ui input[type=range]:focus {
  outline: 0;
}

.plyr--full-ui input[type=range]:focus-visible::-webkit-slider-runnable-track {
  outline: 2px dashed #00b2ff;
  outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
  outline-offset: 2px;
}

.plyr--full-ui input[type=range]:focus-visible::-moz-range-track {
  outline: 2px dashed #00b2ff;
  outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
  outline-offset: 2px;
}

.plyr--full-ui input[type=range]:focus-visible::-ms-track {
  outline: 2px dashed #00b2ff;
  outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
  outline-offset: 2px;
}

.plyr__poster {
  background-color: #000;
  background-color: var(--plyr-video-background, var(--plyr-video-background, #000));
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease;
  width: 100%;
  z-index: 1;
}

.plyr--stopped.plyr__poster-enabled .plyr__poster {
  opacity: 1;
}

.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster {
  display: none;
}

.plyr__time {
  font-size: 13px;
  font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));
}

.plyr__time + .plyr__time:before {
  content: "⁄";
  margin-right: 10px;
  margin-right: var(--plyr-control-spacing, 10px);
}

@media (max-width: 767px) {
  .plyr__time + .plyr__time {
    display: none;
  }
}
.plyr__tooltip {
  background: #fff;
  background: var(--plyr-tooltip-background, #fff);
  border-radius: 5px;
  border-radius: var(--plyr-tooltip-radius, 5px);
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1490196078);
  box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.1490196078));
  color: #4a5464;
  color: var(--plyr-tooltip-color, #4a5464);
  font-size: 13px;
  font-size: var(--plyr-font-size-small, 13px);
  font-weight: 400;
  font-weight: var(--plyr-font-weight-regular, 400);
  left: 50%;
  line-height: 1.3;
  margin-bottom: 10px;
  margin-bottom: calc(var(--plyr-control-spacing, 10px) / 2 * 2);
  opacity: 0;
  padding: 5px 7.5px;
  padding: calc(var(--plyr-control-spacing, 10px) / 2) calc(var(--plyr-control-spacing, 10px) / 2 * 1.5);
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, 10px) scale(0.8);
  transform-origin: 50% 100%;
  transition: transform 0.2s ease 0.1s, opacity 0.2s ease 0.1s;
  white-space: nowrap;
  z-index: 2;
}

.plyr__tooltip:before {
  border-left: 4px solid rgba(0, 0, 0, 0);
  border-left: var(--plyr-tooltip-arrow-size, 4px) solid rgba(0, 0, 0, 0);
  border-right: 4px solid rgba(0, 0, 0, 0);
  border-right: var(--plyr-tooltip-arrow-size, 4px) solid rgba(0, 0, 0, 0);
  border-top: 4px solid #fff;
  border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, #fff);
  bottom: -4px;
  bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
  z-index: 2;
}

.plyr .plyr__control:focus-visible .plyr__tooltip, .plyr .plyr__control:hover .plyr__tooltip, .plyr__tooltip--visible {
  opacity: 1;
  transform: translate(-50%) scale(1);
}

.plyr .plyr__control:hover .plyr__tooltip {
  z-index: 3;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
  left: 0;
  transform: translateY(10px) scale(0.8);
  transform-origin: 0 100%;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip:before, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip:before {
  left: 16px;
  left: calc(var(--plyr-control-icon-size, 18px) / 2 + var(--plyr-control-spacing, 10px) * 0.7);
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
  left: auto;
  right: 0;
  transform: translateY(10px) scale(0.8);
  transform-origin: 100% 100%;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip:before {
  left: auto;
  right: 16px;
  right: calc(var(--plyr-control-icon-size, 18px) / 2 + var(--plyr-control-spacing, 10px) * 0.7);
  transform: translateX(50%);
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control:focus-visible .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip, .plyr__controls > .plyr__control:first-child:focus-visible .plyr__tooltip, .plyr__controls > .plyr__control:first-child:hover .plyr__tooltip, .plyr__controls > .plyr__control:last-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:last-child:focus-visible .plyr__tooltip, .plyr__controls > .plyr__control:last-child:hover .plyr__tooltip {
  transform: translate(0) scale(1);
}

.plyr__progress {
  left: 6.5px;
  left: calc(var(--plyr-range-thumb-height, 13px) * 0.5);
  margin-right: 13px;
  margin-right: var(--plyr-range-thumb-height, 13px);
  position: relative;
}

.plyr__progress input[type=range], .plyr__progress__buffer {
  margin-left: -6.5px;
  margin-left: calc(var(--plyr-range-thumb-height, 13px) * -0.5);
  margin-right: -6.5px;
  margin-right: calc(var(--plyr-range-thumb-height, 13px) * -0.5);
  width: calc(100% + 13px);
  width: calc(100% + var(--plyr-range-thumb-height, 13px));
}

.plyr__progress input[type=range] {
  position: relative;
  z-index: 2;
}

.plyr__progress .plyr__tooltip {
  left: 0;
  max-width: 120px;
  overflow-wrap: break-word;
}

.plyr__progress__buffer {
  -webkit-appearance: none;
  background: rgba(0, 0, 0, 0);
  border: 0;
  border-radius: 100px;
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  left: 0;
  margin-top: -2.5px;
  margin-top: calc(var(--plyr-range-track-height, 5px) / 2 * -1);
  padding: 0;
  position: absolute;
  top: 50%;
}

.plyr__progress__buffer::-webkit-progress-bar {
  background: rgba(0, 0, 0, 0);
}

.plyr__progress__buffer::-webkit-progress-value {
  background: currentColor;
  border-radius: 100px;
  min-width: 5px;
  min-width: var(--plyr-range-track-height, 5px);
  -webkit-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr__progress__buffer::-moz-progress-bar {
  background: currentColor;
  border-radius: 100px;
  min-width: 5px;
  min-width: var(--plyr-range-track-height, 5px);
  -moz-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr__progress__buffer::-ms-fill {
  border-radius: 100px;
  -ms-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr--loading .plyr__progress__buffer {
  animation: plyr-progress 1s linear infinite;
  background-image: linear-gradient(-45deg, rgba(35, 40, 47, 0.6) 25%, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 50%, rgba(35, 40, 47, 0.6) 0, rgba(35, 40, 47, 0.6) 75%, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0));
  background-image: linear-gradient(-45deg, var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 50%, var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
  background-repeat: repeat-x;
  background-size: 25px 25px;
  background-size: var(--plyr-progress-loading-size, 25px) var(--plyr-progress-loading-size, 25px);
  color: rgba(0, 0, 0, 0);
}

.plyr--video.plyr--loading .plyr__progress__buffer {
  background-color: rgba(255, 255, 255, 0.2509803922);
  background-color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.2509803922));
}

.plyr--audio.plyr--loading .plyr__progress__buffer {
  background-color: rgba(193, 200, 209, 0.6);
  background-color: var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6));
}

.plyr__progress__marker {
  background-color: #fff;
  background-color: var(--plyr-progress-marker-background, #fff);
  border-radius: 1px;
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 3px;
  width: var(--plyr-progress-marker-width, 3px);
  z-index: 3;
}

.plyr__volume {
  align-items: center;
  display: flex;
  position: relative;
}

.plyr__volume input[type=range] {
  margin-left: 5px;
  margin-left: calc(var(--plyr-control-spacing, 10px) / 2);
  margin-right: 5px;
  margin-right: calc(var(--plyr-control-spacing, 10px) / 2);
  max-width: 90px;
  min-width: 60px;
  position: relative;
  z-index: 2;
}

.plyr--audio {
  display: block;
}

.plyr--audio .plyr__controls {
  background: #fff;
  background: var(--plyr-audio-controls-background, #fff);
  border-radius: inherit;
  color: #4a5464;
  color: var(--plyr-audio-control-color, #4a5464);
  padding: 10px;
  padding: var(--plyr-control-spacing, 10px);
}

.plyr--audio .plyr__control:focus-visible, .plyr--audio .plyr__control:hover, .plyr--audio .plyr__control[aria-expanded=true] {
  background: #00b2ff;
  background: var(--plyr-audio-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
  color: #fff;
  color: var(--plyr-audio-control-color-hover, #fff);
}

.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(193, 200, 209, 0.6);
  background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6)));
}

.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {
  background-color: rgba(193, 200, 209, 0.6);
  background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6)));
}

.plyr--full-ui.plyr--audio input[type=range]::-ms-track {
  background-color: rgba(193, 200, 209, 0.6);
  background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6)));
}

.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2), 0 0 0 3px rgba(35, 40, 47, 0.1019607843);
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1019607843));
}

.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2), 0 0 0 3px rgba(35, 40, 47, 0.1019607843);
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1019607843));
}

.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2), 0 0 0 3px rgba(35, 40, 47, 0.1019607843);
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1019607843));
}

.plyr--audio .plyr__progress__buffer {
  color: rgba(193, 200, 209, 0.6);
  color: var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6));
}

.plyr--video {
  overflow: hidden;
}

.plyr--video.plyr--menu-open {
  overflow: visible;
}

.plyr__video-wrapper {
  background: #000;
  background: var(--plyr-video-background, var(--plyr-video-background, #000));
  border-radius: inherit;
  height: 100%;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.plyr__video-embed, .plyr__video-wrapper--fixed-ratio {
  aspect-ratio: 16/9;
}

@supports not (aspect-ratio: 16/9) {
  .plyr__video-embed, .plyr__video-wrapper--fixed-ratio {
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
  }
}
.plyr__video-embed iframe, .plyr__video-wrapper--fixed-ratio video {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.plyr--full-ui .plyr__video-embed > .plyr__video-embed__container {
  padding-bottom: 240%;
  position: relative;
  transform: translateY(-38.28125%);
}

.plyr--video .plyr__controls {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7490196078));
  background: var(--plyr-video-controls-background, linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7490196078)));
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  bottom: 0;
  color: #fff;
  color: var(--plyr-video-control-color, #fff);
  left: 0;
  padding: 5px;
  padding: calc(var(--plyr-control-spacing, 10px) / 2);
  padding-top: 20px;
  padding-top: calc(var(--plyr-control-spacing, 10px) * 2);
  position: absolute;
  right: 0;
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  z-index: 3;
}

@media (min-width: 480px) {
  .plyr--video .plyr__controls {
    padding: 10px;
    padding: var(--plyr-control-spacing, 10px);
    padding-top: 35px;
    padding-top: calc(var(--plyr-control-spacing, 10px) * 3.5);
  }
}
.plyr--video.plyr--hide-controls .plyr__controls {
  opacity: 0;
  pointer-events: none;
  transform: translateY(100%);
}

.plyr--video .plyr__control:focus-visible, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded=true] {
  background: #00b2ff;
  background: var(--plyr-video-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
  color: #fff;
  color: var(--plyr-video-control-color-hover, #fff);
}

.plyr__control--overlaid {
  background: #00b2ff;
  background: var(--plyr-video-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
  border: 0;
  border-radius: 100%;
  color: #fff;
  color: var(--plyr-video-control-color, #fff);
  display: none;
  left: 50%;
  opacity: 0.9;
  padding: 15px;
  padding: calc(var(--plyr-control-spacing, 10px) * 1.5);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s;
  z-index: 2;
}

.plyr__control--overlaid svg {
  left: 2px;
  position: relative;
}

.plyr__control--overlaid:focus, .plyr__control--overlaid:hover {
  opacity: 1;
}

.plyr--playing .plyr__control--overlaid {
  opacity: 0;
  visibility: hidden;
}

.plyr--full-ui.plyr--video .plyr__control--overlaid {
  display: block;
}

.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(255, 255, 255, 0.2509803922);
  background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.2509803922)));
}

.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {
  background-color: rgba(255, 255, 255, 0.2509803922);
  background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.2509803922)));
}

.plyr--full-ui.plyr--video input[type=range]::-ms-track {
  background-color: rgba(255, 255, 255, 0.2509803922);
  background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.2509803922)));
}

.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5019607843);
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5019607843));
}

.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5019607843);
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5019607843));
}

.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5019607843);
  box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.1490196078), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5019607843));
}

.plyr--video .plyr__progress__buffer {
  color: rgba(255, 255, 255, 0.2509803922);
  color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.2509803922));
}

.plyr:fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:fullscreen video {
  height: 100%;
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:fullscreen.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr:fullscreen .plyr__captions {
    font-size: 21px;
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
}
.plyr--fullscreen-fallback {
  background: #000;
  border-radius: 0 !important;
  bottom: 0;
  height: 100%;
  left: 0;
  margin: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10000000;
}

.plyr--fullscreen-fallback video {
  height: 100%;
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr--fullscreen-fallback.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr--fullscreen-fallback .plyr__captions {
    font-size: 21px;
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
}
.plyr__ads {
  border-radius: inherit;
  bottom: 0;
  cursor: pointer;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

.plyr__ads > div, .plyr__ads > div iframe {
  height: 100%;
  position: absolute;
  width: 100%;
}

.plyr__ads:after {
  background: #23282f;
  border-radius: 2px;
  bottom: 10px;
  bottom: var(--plyr-control-spacing, 10px);
  color: #fff;
  content: attr(data-badge-text);
  font-size: 11px;
  padding: 2px 6px;
  pointer-events: none;
  position: absolute;
  right: 10px;
  right: var(--plyr-control-spacing, 10px);
  z-index: 3;
}

.plyr__ads:empty:after {
  display: none;
}

.plyr__cues {
  background: currentColor;
  display: block;
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  left: 0;
  opacity: 0.8;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  z-index: 3;
}

.plyr__preview-thumb {
  background-color: #fff;
  background-color: var(--plyr-tooltip-background, #fff);
  border-radius: 8px;
  border-radius: var(--plyr-menu-radius, 8px);
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1490196078);
  box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.1490196078));
  margin-bottom: 10px;
  margin-bottom: calc(var(--plyr-control-spacing, 10px) / 2 * 2);
  opacity: 0;
  padding: 3px;
  pointer-events: none;
  position: absolute;
  transform: translateY(10px) scale(0.8);
  transform-origin: 50% 100%;
  transition: transform 0.2s ease 0.1s, opacity 0.2s ease 0.1s;
  z-index: 2;
}

.plyr__preview-thumb--is-shown {
  opacity: 1;
  transform: translate(0) scale(1);
}

.plyr__preview-thumb:before {
  border-left: 4px solid rgba(0, 0, 0, 0);
  border-left: var(--plyr-tooltip-arrow-size, 4px) solid rgba(0, 0, 0, 0);
  border-right: 4px solid rgba(0, 0, 0, 0);
  border-right: var(--plyr-tooltip-arrow-size, 4px) solid rgba(0, 0, 0, 0);
  border-top: 4px solid #fff;
  border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, #fff);
  bottom: -4px;
  bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
  content: "";
  height: 0;
  left: calc(50% + var(--preview-arrow-offset));
  position: absolute;
  transform: translateX(-50%);
  width: 0;
  z-index: 2;
}

.plyr__preview-thumb__image-container {
  background: #c1c8d1;
  border-radius: 7px;
  border-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.plyr__preview-thumb__image-container img, .plyr__preview-thumb__image-container:after {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.plyr__preview-thumb__image-container:after {
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1490196078);
  content: "";
  pointer-events: none;
}

.plyr__preview-thumb__image-container img {
  max-height: none;
  max-width: none;
}

.plyr__preview-thumb__time-container {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7490196078));
  background: var(--plyr-video-controls-background, linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7490196078)));
  border-bottom-left-radius: 7px;
  border-bottom-left-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
  border-bottom-right-radius: 7px;
  border-bottom-right-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
  bottom: 0;
  left: 0;
  line-height: 1.1;
  padding: 20px 6px 6px;
  position: absolute;
  right: 0;
  z-index: 3;
}

.plyr__preview-thumb__time-container span {
  color: #fff;
  font-size: 13px;
  font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));
}

.plyr__preview-scrubbing {
  bottom: 0;
  filter: blur(1px);
  height: 100%;
  left: 0;
  margin: auto;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 0.3s ease;
  width: 100%;
  z-index: 1;
}

.plyr__preview-scrubbing--is-shown {
  opacity: 1;
}

.plyr__preview-scrubbing img {
  height: 100%;
  left: 0;
  max-height: none;
  max-width: none;
  object-fit: contain;
  position: absolute;
  top: 0;
  width: 100%;
}

.plyr--no-transition {
  transition: none !important;
}

.plyr__sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  border: 0 !important;
  height: 1px !important;
  overflow: hidden;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

.plyr [hidden] {
  display: none !important;
}

/* base — tipografía, variables y reset. De la landing de Drool, sin cambios. */
/* tipografía */
@font-face {
  font-family: "Delight";
  src: url("../type/Delight-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Delight";
  src: url("../type/Delight-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Delight";
  src: url("../type/Delight-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
/* variables */
:root {
  /* colores */
  --trust: #002856;
  --control: #1C5EA5;
  --sky: #3794F6;
  --trace: #D4E9FF;
  --clarity: #EBF5FF;
  --light: #ffffff;
  --accent: #F18A00;
  --success: #00C22E;
  --overcast: #8cb4e1;
  --horizon: #ECF5FF;
  /* font */
  --font-delight: "Delight", sans-serif;
  /* font sizes */
  --fs-96: 6rem;
  --fs-72: 4.5rem;
  --fs-64: 4rem;
  --fs-56: 3.5rem;
  --fs-48: 3rem;
  --fs-40: 2.5rem;
  --fs-36: 2.25rem;
  --fs-32: 2rem;
  --fs-28: 1.75rem;
  --fs-24: 1.5rem;
  --fs-20: 1.25rem;
  --fs-18: 1.12rem;
  --fs-16: 1rem;
  --fs-14: 0.8rem;
  --fs-12: 0.7rem;
  /* font weights */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  /* line heights */
  --lh-100: 1;
  --lh-110: 1.1;
  --lh-120: 1.2;
  --lh-130: 1.3;
  --lh-140: 1.4;
  --lh-150: 1.5;
  /* spacing */
  --page-margin: clamp(1rem, 0.333rem + 2.778vw, 2rem);
  --space-4: 0.25rem;
  --space-8: 0.5rem;
  --space-12: 0.75rem;
  --space-16: 1rem;
  --space-20: 1.25rem;
  --space-24: 1.5rem;
  --space-32: 2rem;
  --space-40: 2.5rem;
  --space-48: 3rem;
  --space-56: 3.5rem;
  --space-64: 4rem;
  --space-80: 5rem;
  --space-104: 6.5rem;
  --space-168: 10.5rem;
  --space-180: 11.25rem;
  /* radius */
  --radius: 16px;
}

/* ==========================================================================
   reset
   ========================================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  overflow-x: clip;
  background: var(--light, #FFFFFF);
}

body {
  position: relative;
  min-height: 100%;
  color: var(--trust, #002856);
  font-family: var(--font-delight, "Delight", sans-serif);
  font-weight: var(--weight-regular);
  background: var(--clarity, #EBF5FF);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* quito márgenes por defecto de los bloques de texto */
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
  font-weight: normal;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* app-shell — el armazón: una pantalla visible cada vez. De la landing de Drool, sin cambios. */
/* ==========================================================================
   app shell
   ========================================================================== */
.app-shell {
  min-height: var(--app-100vh, 100svh);
}

.app-main {
  position: relative;
}

.screen {
  display: none;
  height: auto;
  min-height: var(--app-100vh, 100svh);
  overflow: visible;
  position: relative;
}

.screen.is-active {
  display: flex;
  flex-direction: column;
}

/* loader — la carga inicial, con el porcentaje de imágenes. De la landing de Drool, sin cambios. */
/* ==========================================================================
   loader
   ========================================================================== */
.loader {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-16);
  background: var(--clarity, #EBF5FF);
  transition: opacity 0.5s ease;
}

.loader__progress {
  font-size: var(--fs-14);
  font-weight: var(--weight-medium);
  color: var(--control, #1C5EA5);
  letter-spacing: 0.02em;
}

.loader.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.loader__cluster {
  position: relative;
  width: 64px;
  height: 64px;
  animation: loader-spin 4s linear infinite;
}

.loader__dot {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
}

.loader__dot-core {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--sky, #3794F6);
  animation: loader-pulse 1.6s ease-in-out infinite;
  animation-delay: var(--delay, 0s);
}

.loader__dot:nth-child(1) {
  transform: rotate(0deg) translateX(26px);
}

.loader__dot:nth-child(2) {
  transform: rotate(51deg) translateX(24px);
}

.loader__dot:nth-child(3) {
  transform: rotate(103deg) translateX(28px);
}

.loader__dot:nth-child(4) {
  transform: rotate(154deg) translateX(22px);
}

.loader__dot:nth-child(5) {
  transform: rotate(206deg) translateX(27px);
}

.loader__dot:nth-child(6) {
  transform: rotate(257deg) translateX(25px);
}

.loader__dot:nth-child(7) {
  transform: rotate(309deg) translateX(23px);
}

.loader__dot:nth-child(1) .loader__dot-core {
  --delay: 0s;
  --peak: 1.3;
}

.loader__dot:nth-child(2) .loader__dot-core {
  --delay: .12s;
  --peak: .8;
}

.loader__dot:nth-child(3) .loader__dot-core {
  --delay: .24s;
  --peak: 1.1;
}

.loader__dot:nth-child(4) .loader__dot-core {
  --delay: .36s;
  --peak: .65;
}

.loader__dot:nth-child(5) .loader__dot-core {
  --delay: .48s;
  --peak: 1.2;
}

.loader__dot:nth-child(6) .loader__dot-core {
  --delay: .6s;
  --peak: .9;
}

.loader__dot:nth-child(7) .loader__dot-core {
  --delay: .72s;
  --peak: 1;
}

@keyframes loader-spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes loader-pulse {
  0%, 100% {
    transform: scale(0.45);
    opacity: 0.3;
  }
  50% {
    transform: scale(var(--peak, 1));
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .loader__cluster,
  .loader__dot-core {
    animation: none;
  }
}
/* intro — lo que entra animado: escondido bajo html.js hasta que lo revela GSAP. De la landing de Drool, sin cambios. */
/* ==========================================================================
   start animation
   ========================================================================== */
html.js [data-intro] {
  opacity: 0;
}

html.js [data-intro=up] {
  transform: translateY(var(--space-16));
}

@media (min-width: 768px) {
  html.js [data-intro=up] {
    transform: translateY(var(--space-24));
  }
}
@media (prefers-reduced-motion: reduce) {
  html.js [data-intro] {
    opacity: 1;
    transform: none;
  }
}
/* header — la cabecera de la landing, que no es la de la web. De la landing de Drool, sin cambios. */
/* ==========================================================================
   header
   ========================================================================== */
.site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: var(--page-margin);
  z-index: 10;
}

.site-header__logo {
  width: 120px;
  height: auto;
}

.site-header__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  line-height: var(--lh-130);
}

.site-header__years {
  font-size: var(--fs-12);
  font-weight: var(--weight-semibold);
  color: var(--trust, #002856);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.site-header__tagline {
  font-size: var(--fs-12);
  font-weight: var(--weight-semibold);
  color: var(--accent, #F18A00);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* buttons — los botones de la landing. De la landing de Drool, sin cambios. */
/* ==========================================================================
   buttons
   ========================================================================== */
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-12);
  padding: clamp(0.65rem, 1.8dvh, var(--space-16)) var(--space-24);
  border-radius: var(--radius);
  font-family: var(--font-delight);
  font-size: var(--fs-16);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
  height: 64px;
}

.button--primary {
  background: var(--sky, #3794F6);
  color: var(--light, #ffffff);
}

.button__icon {
  flex-shrink: 0;
}

/* home — la bienvenida de Jordi. De la landing de Drool, sin cambios. */
/* ==========================================================================
   home
   ========================================================================== */
.home {
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: clamp(0.5rem, 1.6dvh, 1rem);
}

.home__intro {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  padding: clamp(4rem, 8dvh + 3rem, 6rem) var(--page-margin) 0;
  position: relative;
  min-height: var(--app-100vh, 100svh);
  z-index: 20;
}

.home__title {
  font-size: var(--fs-48);
  font-weight: var(--weight-semibold);
  line-height: var(--lh-100);
  color: var(--trust, #002856);
}

.home__title-accent {
  display: block;
  color: var(--accent, #F18A00);
}

.home__subtitle {
  font-size: var(--fs-20);
  font-weight: var(--weight-medium);
  line-height: var(--lh-130);
}

.home__lead {
  font-size: var(--fs-16);
  font-weight: var(--weight-regular);
  line-height: var(--lh-140);
}

.home__lead strong {
  font-weight: var(--weight-semibold);
}

.home__stats {
  display: flex;
  align-items: center;
  gap: var(--space-20);
  padding-top: var(--space-12);
}

.home__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-8);
  padding-right: var(--space-20);
  border-right: 1px solid var(--control, #1C5EA5);
  text-align: center;
}

.home__stat:last-child {
  padding-right: 0;
  border-right: none;
}

.home__stat-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--control, #1C5EA5);
  box-sizing: content-box;
  width: var(--icon-size);
  height: var(--icon-size);
  padding: var(--icon-padding);
}

.home__stat-icon-wrap--stops {
  --icon-size: 24px;
  --icon-padding: clamp(8px, 1.6dvh, 10px);
}

.home__stat-icon-wrap--clock {
  --icon-size: 26px;
  --icon-padding: clamp(8px, 1.6dvh, 10px);
}

.home__stat-icon-wrap--plane {
  --icon-size: 28px;
  --icon-padding: clamp(8px, 1.6dvh, 10px);
}

.home__stat-icon {
  width: 100%;
  height: 100%;
  display: block;
}

.home__stat-label {
  font-size: var(--fs-14);
  font-weight: var(--weight-medium);
  white-space: nowrap;
}

.home__cta {
  position: absolute;
  left: var(--page-margin);
  right: var(--page-margin);
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  z-index: 2;
}

.home__visual {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.home__quote {
  position: absolute;
  top: 470px;
  left: 14vw;
  color: var(--control, #1C5EA5);
  z-index: 2;
}

.home__quote-mark {
  width: 110px;
  height: auto;
  margin-bottom: var(--space-4);
}

.home__photo-frame {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.home__visual-deco {
  position: absolute;
  bottom: 0;
  right: -60px;
  width: 100%;
  height: calc(100% - 400px);
  overflow: hidden;
  border-radius: 99991000px 9999px 0 0;
}

.home__visual-deco-img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(1);
  opacity: 0.3;
}

.home__visual-deco-tint {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--trace, #D4E9FF);
  mix-blend-mode: color;
}

.home__visual-deco-fade {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(180deg, var(--trace, #D4E9FF) 29.69%, rgba(212, 233, 255, 0) 100%);
}

.home__photo {
  position: absolute;
  max-width: none;
  --photo-width: clamp(340px, 35vw + 35vh, 720px);
  --photo-bottom: -300px;
  --photo-right: -94px;
  width: var(--photo-width);
  height: auto;
  bottom: var(--photo-bottom);
  right: var(--photo-right);
  display: block;
  z-index: 1;
}

.home__quote figcaption {
  display: flex;
  flex-direction: column;
}

.home__quote-name {
  font-size: var(--fs-16);
  font-weight: var(--weight-semibold);
}

.home__quote-role {
  font-size: var(--fs-12);
  font-weight: var(--weight-medium);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* boarding-bar — la barra de embarque de la bienvenida. De la landing de Drool, sin cambios. */
/* ==========================================================================
   boarding bar
   ========================================================================== */
.boarding-bar {
  display: none;
}

.boarding-bar__item {
  display: flex;
  flex-direction: column;
}

.boarding-bar__label {
  font-size: var(--fs-12);
  color: var(--trust, #002856);
}

.boarding-bar__value {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  font-size: var(--fs-20);
  font-weight: var(--weight-regular);
  white-space: nowrap;
}

.boarding-bar__dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--success, #00C22E);
  flex-shrink: 0;
}

.boarding-bar__ticks {
  display: none;
}

.boarding-bar__item--destination,
.boarding-bar__expertise {
  display: none;
}

/* steps — los cuatro pasos con vídeo, el reproductor y la navegación. De la landing de Drool, sin cambios. */
/* ==========================================================================
   video steps
   ========================================================================== */
[hidden] {
  display: none !important;
}

.step__visual-deco {
  position: absolute;
  top: 55%;
  right: -35%;
  bottom: 0;
  left: 60%;
  overflow: hidden;
  border-radius: 99991000px 9999px 0 0;
  pointer-events: none;
}

.step__visual-deco-img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(1);
  opacity: 0.08;
}

.step__visual-deco-tint {
  position: absolute;
  inset: 0;
  background: var(--trace, #D4E9FF);
  mix-blend-mode: color;
}

.step__visual-deco-fade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, var(--trace, #D4E9FF) 29.69%, rgba(212, 233, 255, 0) 100%);
}

.step__bottom-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 35%;
  background: linear-gradient(180deg, color-mix(in srgb, var(--clarity, #EBF5FF) 0%, transparent) 0%, color-mix(in srgb, var(--clarity, #EBF5FF) 90%, transparent) 77.7%);
  pointer-events: none;
}

.step {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
  padding: clamp(4rem, 8dvh + 3rem, 5rem) var(--page-margin) calc(var(--step-nav-h, 230px) + var(--space-20));
}

.step__intro {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  text-align: center;
}

.step__eyebrow {
  font-size: var(--fs-12);
  font-weight: var(--weight-medium);
  color: var(--trust, #002856);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.step__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.step__title {
  font-size: var(--fs-40);
  font-weight: var(--weight-medium);
  line-height: var(--lh-110);
  color: var(--trust, #002856);
}

.step__title-accent {
  color: var(--accent, #F18A00);
}

.step__subtitle {
  font-size: var(--fs-20);
  font-weight: var(--weight-medium);
  line-height: var(--lh-130);
  color: var(--trust, #002856);
}

.step__desc {
  font-size: var(--fs-16);
  font-weight: var(--weight-regular);
  line-height: var(--lh-140);
  color: var(--trust, #002856);
}

.step__media {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-12);
}

.step__video-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  flex: 0 1 auto;
  min-height: 0;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--clarity, #EBF5FF);
  --plyr-color-main: var(--sky, #3794F6);
}

.step__poster,
.step__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.step__poster--confirmed {
  opacity: 1;
}

.step__video-veil {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.8);
  pointer-events: none;
}

.step__video {
  background: #000;
}

.step__video-wrap .plyr {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
}

.step__video-wrap .plyr video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.step__play,
.step__confirmed {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.step__play:not([hidden]) {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-12);
}

.step__play {
  width: 120px;
  height: 120px;
  aspect-ratio: 1/1;
  padding: var(--space-20) var(--space-24) var(--space-20) var(--space-32);
  border-radius: 120px;
  border: 4px solid rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.step__play-icon {
  width: 51px;
  height: 58px;
  max-width: 100%;
  max-height: 100%;
  background-color: var(--light, #ffffff);
  -webkit-mask: url("../img/fruit-attraction-2026/icons/icon-play.svg") no-repeat center/contain;
  mask: url("../img/fruit-attraction-2026/icons/icon-play.svg") no-repeat center/contain;
}

.step__confirmed:not([hidden]) {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-24);
}

/* reproductor */
.plyr--full-ui.plyr--video .plyr__control--overlaid {
  display: block;
  border-radius: 120px;
  border: 4px solid rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  cursor: pointer;
}

.step__check {
  display: flex;
  width: 120px;
  height: 120px;
  aspect-ratio: 1/1;
  padding: var(--space-20) var(--space-24) var(--space-20) var(--space-32);
  justify-content: center;
  align-items: center;
  gap: var(--space-12);
  border-radius: 120px;
  border: 4px solid var(--trust, #002856);
  background: color-mix(in srgb, var(--trace, #D4E9FF) 20%, transparent);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.step__check-icon {
  display: block;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
  fill: none;
  stroke: var(--trust, #002856);
  stroke-width: 6;
}

.step__replay {
  display: inline-flex;
  align-items: center;
  gap: var(--space-8);
  border: none;
  background: none;
  padding: 0;
  font-family: var(--font-delight);
  font-size: var(--fs-16);
  font-weight: var(--weight-semibold);
  color: var(--trust, #002856);
  cursor: pointer;
}

.step__replay-icon {
  width: 20px;
  height: 24px;
  flex-shrink: 0;
  background-color: currentColor;
  -webkit-mask: url("../img/fruit-attraction-2026/icons/icon-play-again.svg") no-repeat center/contain;
  mask: url("../img/fruit-attraction-2026/icons/icon-play-again.svg") no-repeat center/contain;
}

.step__badges {
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-8) var(--space-12);
  list-style: none;
}

.step__badge {
  padding: var(--space-8) var(--space-16);
  border-radius: 6px;
  background: var(--control, #1C5EA5);
  color: var(--light, #ffffff);
  font-size: var(--fs-12);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.step__nav {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  padding: var(--space-20) var(--page-margin) var(--space-20);
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "back cta" "dots dots";
  align-items: center;
  gap: var(--space-24);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.84);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.step__back {
  grid-area: back;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-8);
  color: var(--trust, #002856);
  flex-shrink: 0;
}

.step__back--invisible {
  visibility: hidden;
  pointer-events: none;
}

.step__back__icon {
  width: 16px;
  height: 15px;
  flex-shrink: 0;
  background-color: currentColor;
  -webkit-mask: url("../img/fruit-attraction-2026/icons/icon-row-back.svg") no-repeat center/contain;
  mask: url("../img/fruit-attraction-2026/icons/icon-row-back.svg") no-repeat center/contain;
}

.step__back span {
  display: none;
}

.step__cta {
  grid-area: cta;
  text-decoration: none;
  width: fit-content;
  justify-self: end;
}

.step__cta--locked {
  font-size: var(--fs-14);
  background: color-mix(in srgb, var(--sky, #3794F6) 55%, transparent);
  color: var(--light, #ffffff);
  cursor: not-allowed;
}

.step__cta--unlocked {
  background: var(--sky, #3794F6);
  color: var(--light, #ffffff);
}

.step__dots {
  grid-area: dots;
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  position: relative;
  z-index: 0;
}

.step__dot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-8);
  position: relative;
  flex: 1 1 auto;
}

.step__dot::before {
  content: "";
  position: absolute;
  top: 7px;
  right: 50%;
  width: 100%;
  height: 2px;
  background: var(--overcast, #8cb4e1);
  z-index: -1;
  transition: background-color 0.35s ease;
}

.step__dot:first-child::before {
  display: none;
}

.step__dot.is-filled::before {
  background: var(--trust, #002856);
}

.step__dot-marker {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--overcast, #8cb4e1);
  border: solid 2px var(--clarity, #EBF5FF);
  transition: background-color 0.35s ease;
}

.step__dot-number {
  font-size: var(--fs-16);
  font-weight: var(--weight-medium);
  line-height: var(--lh-100);
  color: var(--overcast, #8cb4e1);
  transition: color 0.35s ease;
}

.step__dot.is-active .step__dot-marker {
  background: var(--accent, #F18A00);
}

.step__dot.is-active .step__dot-number {
  color: var(--accent, #F18A00);
}

.step__dot.is-completed .step__dot-marker {
  background: var(--trust, #002856);
}

.step__dot.is-completed .step__dot-number {
  color: var(--trust, #002856);
}

.step__dot-label {
  display: none;
  transition: color 0.35s ease;
}

/* finish — el final: check-in completado. De la landing de Drool, sin cambios. */
/* ==========================================================================
   finish
   ========================================================================== */
.screen--finish.is-active {
  height: auto;
  min-height: var(--app-100vh, 100svh);
  overflow: visible;
}

.finish {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.finish__hero {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
  height: 56vh;
  min-height: 320px;
}

.finish__visual-deco {
  position: absolute;
  top: 150px;
  right: 32px;
  bottom: 0;
  left: 0px;
  overflow: hidden;
  border-radius: 99991000px 9999px 0 0;
  pointer-events: none;
  transform: scaleX(-1);
}

.finish__visual-deco-img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(1);
  opacity: 0.12;
}

.finish__visual-deco-tint {
  position: absolute;
  inset: 0;
  background: var(--trace, #D4E9FF);
  mix-blend-mode: color;
}

.finish__visual-deco-fade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, var(--trace, #D4E9FF) 29.69%, rgba(212, 233, 255, 0) 100%);
}

.finish__photo {
  position: absolute;
  left: 50%;
  top: 50px;
  transform: translateX(-50%);
  width: 460px;
  height: auto;
  display: block;
  z-index: 1;
}

.finish__bottom-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  background: linear-gradient(180deg, color-mix(in srgb, var(--clarity, #EBF5FF) 10%, transparent) 50%, color-mix(in srgb, var(--clarity, #EBF5FF) 100%, transparent) 100%);
  pointer-events: none;
  z-index: 2;
}

.finish__content {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  padding: var(--space-32) var(--page-margin) 0;
  margin-top: max(56vh - 108px, 212px);
  position: relative;
  z-index: 10;
}

.finish__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  align-items: center;
  max-width: 350px;
  margin: auto;
}

.finish__title {
  font-size: var(--fs-40);
  font-weight: var(--weight-semibold);
  line-height: var(--lh-100);
  color: var(--trust, #002856);
  text-align: center;
}

.finish__title-accent {
  color: var(--accent, #F18A00);
}

.finish__subtitle {
  font-size: var(--fs-20);
  font-weight: var(--weight-medium);
  line-height: var(--lh-130);
  color: var(--trust, #002856);
  text-align: center;
}

.finish__desc {
  font-size: var(--fs-16);
  font-weight: var(--weight-regular);
  line-height: var(--lh-140);
  color: var(--trust, #002856);
  text-align: center;
}

.finish__outro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-12);
  text-align: center;
}

.finish__outro-title {
  font-size: var(--fs-20);
  font-weight: var(--weight-medium);
  line-height: var(--lh-120);
  color: var(--trust, #002856);
}

.finish__outro-desc {
  font-size: var(--fs-16);
  font-weight: var(--weight-regular);
  line-height: var(--lh-140);
  color: var(--trust, #002856);
  max-width: 420px;
}

.finish__cta {
  width: 100%;
  max-width: 400px;
}

.finish__footer {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-16);
  padding: var(--space-40) var(--page-margin);
}

.finish__footer-nav,
.finish__footer-social {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-8) var(--space-24);
  list-style: none;
}

.finish__footer-nav a,
.finish__footer-social a {
  font-size: var(--fs-12);
  font-weight: var(--weight-medium);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: color-mix(in srgb, var(--trust, #002856) 55%, transparent);
  text-decoration: none;
  white-space: nowrap;
}

/* boarding-pass — la tarjeta de embarque. De la landing de Drool, sin cambios. */
/* ==========================================================================
   boarding pass
   ========================================================================== */
.boarding-pass {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "logo        logo" "pass-label  pass-icon" "divider-1   divider-1" "f-vpartner  f-experience" "divider-2   divider-2" "f-fe20      f-from" "divider-3   divider-3" "f-status    f-destination" "barcode     barcode";
  align-items: center;
  column-gap: var(--space-16);
  row-gap: var(--space-16);
  padding: var(--space-20);
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: var(--radius);
  box-shadow: 0 24px 48px rgba(0, 40, 86, 0.1);
}

.boarding-pass__logo {
  grid-area: logo;
  width: 120px;
  height: auto;
}

.boarding-pass__label {
  grid-area: pass-label;
  font-size: var(--fs-16);
  font-weight: var(--weight-medium);
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--trust, #002856);
  align-self: center;
  white-space: nowrap;
}

.boarding-pass__icon {
  grid-area: pass-icon;
  width: 24px;
  height: 24px;
  justify-self: end;
}

.boarding-pass__divider {
  height: 1px;
  background: color-mix(in srgb, var(--trust, #002856) 15%, transparent);
  align-self: stretch;
}

.boarding-pass__divider--1 {
  grid-area: divider-1;
}

.boarding-pass__divider--2 {
  grid-area: divider-2;
}

.boarding-pass__divider--3 {
  grid-area: divider-3;
}

.boarding-pass__divider--4 {
  grid-area: divider-4;
  display: none;
}

.boarding-pass__vdivider {
  display: none;
}

.boarding-pass__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.boarding-pass__field-label {
  font-size: var(--fs-12);
  font-weight: var(--weight-regular);
  color: color-mix(in srgb, var(--trust, #002856) 70%, transparent);
}

.boarding-pass__field-value {
  font-size: var(--fs-18);
  font-weight: var(--weight-semibold);
  color: var(--trust, #002856);
}

.boarding-pass__field-value--status {
  display: flex;
  align-items: center;
  gap: var(--space-8);
}

.boarding-pass__status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--success, #00C22E);
  flex-shrink: 0;
}

.boarding-pass__field--vpartner {
  grid-area: f-vpartner;
}

.boarding-pass__field--experience {
  grid-area: f-experience;
}

.boarding-pass__field--fe20 {
  grid-area: f-fe20;
}

.boarding-pass__field--from {
  grid-area: f-from;
}

.boarding-pass__field--destination {
  grid-area: f-destination;
}

.boarding-pass__field--status {
  grid-area: f-status;
}

.boarding-pass__barcode {
  grid-area: barcode;
  justify-self: center;
  width: 132px;
  height: auto;
  margin-top: var(--space-8);
}

/* tablet — desde 768 px. De la landing de Drool, sin cambios. */
/* tablet */
@media (min-width: 768px) {
  .step__visual-deco {
    top: 35%;
    right: -25%;
    left: 52%;
  }
  .site-header__logo {
    width: 140px;
  }
  .site-header__years,
  .site-header__tagline {
    font-size: var(--fs-14);
  }
  .home {
    flex-direction: row;
    align-items: stretch;
    gap: var(--space-48);
  }
  .home__intro {
    flex: 1 1 100%;
    justify-content: flex-start;
    gap: var(--space-32);
    padding: clamp(7rem, 8dvh + 3rem, 6rem) var(--page-margin) 0;
    padding-bottom: 15vh;
  }
  .home__title {
    width: 50%;
    font-size: var(--fs-56);
  }
  .home__subtitle {
    width: 60%;
    font-size: var(--fs-24);
  }
  .home__cta {
    position: static;
    inset: auto;
    align-self: flex-start;
    width: 46vw;
  }
  .home__lead {
    width: 60%;
  }
  .home__stat {
    min-width: 15vw;
  }
  .home__stats {
    margin-top: auto;
  }
  .home__stat-icon-wrap--stops {
    --icon-size: 40px;
    --icon-padding: clamp(8px, 1.6dvh, 30px);
  }
  .home__stat-icon-wrap--clock {
    --icon-size: 42px;
    --icon-padding: clamp(8px, 1.6dvh, 30px);
  }
  .home__stat-icon-wrap--plane {
    --icon-size: 44px;
    --icon-padding: clamp(8px, 1.6dvh, 30px);
  }
  .home__stat-icon-wrap {
    border: 2px solid var(--control, #1C5EA5);
  }
  .home__quote {
    left: 24vw;
  }
  .home__photo {
    --photo-width: 680px;
    --photo-right: -180px;
    --photo-bottom: -80px;
  }
  .boarding-bar {
    display: flex;
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 20px;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-16);
    padding: clamp(0.75rem, 2dvh, var(--space-20)) var(--page-margin);
    background: rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: var(--radius);
    z-index: 3;
  }
  .boarding-bar__ticks {
    display: block;
    width: 60px;
    height: 24px;
    background-image: repeating-linear-gradient(90deg, var(--accent, #F18A00) 0 2px, transparent 2px 6px);
  }
  .boarding-bar__item--destination {
    display: flex;
  }
  .boarding-bar__expertise {
    display: block;
    padding-left: var(--space-12);
    border-left: 1px dashed var(--accent, #F18A00);
    font-size: var(--fs-12);
    font-weight: var(--weight-medium);
    text-transform: uppercase;
    line-height: var(--lh-120);
  }
  .step {
    justify-content: flex-start;
    gap: var(--space-20);
    padding: var(--space-104) var(--space-24) calc(var(--step-nav-h, 150px) + var(--space-20));
  }
  .step__intro {
    max-width: 720px;
    margin-inline: auto;
  }
  .step__eyebrow {
    font-size: var(--fs-14);
  }
  .step__title {
    font-size: var(--fs-64);
  }
  .step__subtitle {
    font-size: var(--fs-28);
  }
  .step__media {
    max-width: 720px;
    margin-inline: auto;
    width: 100%;
  }
  .step__nav {
    padding: var(--space-32) var(--space-24) var(--space-32);
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "back dots cta";
    gap: var(--space-24);
  }
  .step__back {
    justify-self: start;
  }
  .step__back span {
    display: inline;
    font-size: var(--fs-16);
    font-weight: var(--weight-medium);
  }
  .step__cta {
    flex: 0 0 auto;
    width: auto;
    min-width: 287px;
  }
  .step__dots {
    justify-content: center;
    gap: 0;
  }
  .step__dot {
    flex: 1 1 0;
    max-width: 175px;
  }
  .step__dot.is-active .step__dot-label {
    color: var(--accent, #F18A00);
  }
  .step__dot.is-completed .step__dot-label {
    color: var(--trust, #002856);
  }
  .screen--finish.is-active {
    height: auto;
    min-height: var(--app-100vh, 100svh);
    overflow: visible;
  }
  .finish__hero {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: auto;
    min-height: 0;
    z-index: 0;
  }
  .finish__bottom-fade {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    background: linear-gradient(180deg, color-mix(in srgb, var(--clarity, #EBF5FF) 0%, transparent) 0%, color-mix(in srgb, var(--clarity, #EBF5FF) 20%, transparent) 50%, color-mix(in srgb, var(--clarity, #EBF5FF) 100%, transparent) 58%);
    pointer-events: none;
    z-index: 2;
  }
  .finish__photo {
    left: -32px;
    top: 0;
    transform: none;
    width: 570px;
    height: auto;
    object-fit: cover;
    object-position: top center;
  }
  .finish__content {
    padding-top: var(--space-168);
    margin-top: 0;
    gap: var(--space-48);
  }
  .finish__intro {
    align-items: flex-start;
    max-width: 440px;
    margin: 0 0 0 clamp(280px, 48vw, 500px);
  }
  .finish__title,
  .finish__subtitle,
  .finish__desc {
    text-align: left;
  }
  .finish__title {
    font-size: var(--fs-56);
  }
  .finish__subtitle {
    font-size: var(--fs-24);
  }
  .boarding-pass {
    grid-template-columns: minmax(140px, 220px) auto 1fr 1fr 1fr;
    grid-template-areas: "logo         vdivider  pass-label  pass-label  pass-icon" "divider-1    vdivider  divider-2   divider-2   divider-2" "f-vpartner   vdivider  f-fe20      f-from      f-destination" "divider-3    vdivider  divider-4   divider-4   divider-4" "f-experience vdivider  f-status    f-status    barcode";
    column-gap: var(--space-24);
    row-gap: clamp(0.5rem, 1.6dvh, var(--space-16));
    padding: clamp(1rem, 2.4dvh, var(--space-32));
    margin-top: var(--space-16);
  }
  .boarding-pass__divider--4 {
    display: block;
  }
  .boarding-pass__vdivider {
    display: block;
    grid-area: vdivider;
    width: 1px;
    align-self: stretch;
    background-image: linear-gradient(var(--accent, #F18A00) 50%, transparent 0%);
    background-size: 1px 16px;
    background-repeat: repeat-y;
  }
  .boarding-pass__icon {
    width: 28px;
    height: 28px;
  }
  .boarding-pass__barcode {
    justify-self: end;
    margin-top: 0;
  }
  .finish__outro-title {
    font-size: var(--fs-28);
  }
  .finish__cta {
    width: auto;
    min-width: 320px;
  }
  .finish__footer {
    flex-direction: row;
    justify-content: space-between;
    padding: clamp(0.5rem, 2dvh, var(--space-32)) var(--page-margin);
    position: relative;
    z-index: 10;
  }
  .finish__footer-nav,
  .finish__footer-social {
    justify-content: flex-start;
  }
}
/* desktop — desde 1024 px y los anchos intermedios. De la landing de Drool, sin cambios. */
/* desktop */
@media (min-width: 1024px) {
  .step__visual-deco {
    top: 15%;
    right: -15%;
    left: 45%;
  }
  :root {
    --page-margin: clamp(1rem, 0.5rem + 3vw, 4rem);
  }
  .site-header__logo {
    width: 154px;
  }
  .site-header {
    padding: var(--space-32) var(--page-margin);
  }
  .home {
    gap: var(--space-64);
  }
  .home__intro {
    gap: var(--space-20);
  }
  .home__title {
    font-size: var(--fs-96);
    width: 100%;
    max-width: 627px;
  }
  .home__subtitle {
    font-size: var(--fs-32);
    width: 100%;
    max-width: 627px;
  }
  .home__lead {
    font-size: var(--fs-20);
    width: 100%;
    max-width: 627px;
  }
  .home__stat {
    min-width: 0;
    width: 170px;
  }
  .home__stats {
    margin-top: 0;
    width: 100%;
    max-width: 627px;
    padding: var(--space-32) 0;
  }
  .home__cta {
    max-width: 627px;
    height: 80px;
    font-size: var(--fs-24);
  }
  .home__visual-deco {
    right: -660px;
    height: calc(100% - 100px);
  }
  .home__photo {
    --photo-width: 750px;
    --photo-right: clamp(-340px, 81.73vw - 1110px, 260px);
    top: 20px;
    bottom: auto;
  }
  .home__visual {
    position: fixed;
    --photo-width: 750px;
    --photo-right: clamp(-340px, 81.73vw - 1110px, 260px);
  }
  .home__quote {
    top: 222px;
    left: min(100vw - var(--photo-right) - var(--photo-width) * 0.294, 100vw - var(--photo-width) * 0.222 - 24px);
  }
  .home__quote-mark {
    width: calc(var(--photo-width) * 0.222);
  }
  .boarding-bar__expertise {
    padding-left: var(--space-24);
  }
  .boarding-bar__label {
    font-size: var(--fs-16);
  }
  .boarding-bar__value {
    font-size: var(--fs-32);
  }
  .boarding-bar__dot {
    width: 16px;
    height: 16px;
  }
  .step__intro {
    max-width: 990px;
  }
  .step__title {
    font-size: var(--fs-72);
  }
  .step__desc {
    max-width: 540px;
    margin: auto;
  }
  .step__dot-label {
    display: block;
    font-size: var(--fs-12);
    font-weight: var(--weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: var(--lh-130);
    color: var(--overcast, #8cb4e1);
    text-align: center;
  }
  .finish__title {
    font-size: var(--fs-64);
  }
  .finish__desc {
    font-size: var(--fs-18);
  }
  .boarding-pass__logo {
    width: 140px;
  }
}
@media (min-width: 1024px) and (max-width: 1230px) {
  .home__quote {
    display: none;
  }
}
@media (min-width: 1300px) {
  .step__nav {
    --step-nav-flank: 290px;
    grid-template-columns: var(--step-nav-flank) 1fr var(--step-nav-flank);
  }
  .step__cta {
    min-width: var(--step-nav-flank, 290px);
  }
}
@media (min-width: 1200px) {
  .screen {
    min-height: 100svh;
    background: var(--clarity, #EBF5FF);
  }
  .screen--finish.is-active {
    min-height: 100svh;
  }
  .finish__content {
    display: flex;
    flex-direction: column;
    gap: clamp(var(--space-16), 2dvh, var(--space-24));
  }
  .finish__content {
    max-width: 792px;
    margin-left: calc(390px + max(0px, (100vw - 1214px) / 2));
    margin-right: 0;
    padding: 0 var(--page-margin) 0 0;
    justify-content: center;
    gap: clamp(var(--space-16), 2dvh, var(--space-24));
  }
  .finish__hero {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    min-height: 0;
  }
  .finish__visual-deco {
    right: 422px;
  }
  .finish__photo {
    left: calc(-32px + max(0px, (100vw - 1440px) / 2));
  }
  .finish__intro {
    align-items: flex-start;
    align-self: stretch;
    margin: 0;
    max-width: none;
  }
  .finish__title {
    font-size: var(--fs-72);
    text-align: center;
    width: 100%;
  }
  .finish__subtitle {
    font-size: var(--fs-32);
    text-align: center;
    width: 100%;
  }
  .finish__desc {
    width: 90%;
    margin: auto;
    text-align: center;
  }
  .finish__outro-title {
    font-size: var(--fs-32);
  }
  .finish__bottom-fade {
    display: none;
  }
  .finish__footer {
    grid-area: footer;
    padding: 0 var(--page-margin) var(--space-24) 0;
    width: 100%;
    max-width: 792px;
    margin-left: calc(390px + max(0px, (100vw - 1214px) / 2));
  }
}
/* hovers — los hovers, solo desde 1024 px. De la landing de Drool, sin cambios. */
@media (min-width: 1024px) {
  /* ==========================================================================
     hovers
     ========================================================================== */
  .button--primary,
  .step__cta--unlocked {
    transition: background-color 0.2s ease, color 0.2s ease;
    margin-bottom: var(--space-40);
  }
  .button--primary:hover,
  .step__cta--unlocked:hover {
    background: var(--control, #1C5EA5);
    color: var(--light, #ffffff);
  }
  .button--primary .button__icon,
  .step__cta--unlocked .button__icon {
    transition: transform 0.2s ease;
  }
  .button--primary:hover .button__icon,
  .step__cta--unlocked:hover .button__icon {
    transform: translateX(4px);
  }
  .finish__footer-nav a {
    transition: color 0.2s ease;
  }
  .finish__footer-nav a:hover {
    color: var(--control, #1C5EA5);
  }
  .step__back {
    color: var(--trust, #002856);
    transition: color 0.2s ease;
  }
  .step__back:hover {
    color: var(--control, #1C5EA5);
  }
  .step__play {
    transition: width 0.2s ease, height 0.2s ease, background-color 0.2s ease;
  }
  .step__play:hover {
    width: 128px;
    height: 128px;
    background: rgba(255, 255, 255, 0.9);
  }
  .step__play-icon {
    transition: background-color 0.2s ease;
  }
  .step__play:hover .step__play-icon {
    background-color: var(--control, #1C5EA5);
  }
  .step__replay {
    transition: color 0.2s ease;
  }
  .step__replay:hover {
    color: var(--control, #1C5EA5);
  }
}
/* banner — el aviso de cookies de la web, que también sale aquí: la política cubre toda la web. La landing no
   carga styles.css, así que trae los estilos del banner y los de los dos botones que usa, solo dentro de él. */
/* cookie-banner — el aviso de cookies. No venía en el diseño de la agencia: usa sus colores, su tipografía y sus
   botones. */
.cookie-banner {
  position: fixed;
  right: var(--page-margin);
  bottom: var(--page-margin);
  left: var(--page-margin);
  z-index: calc(var(--z-header) + 1);
  display: flex;
  justify-content: center;
}

.cookie-banner[hidden],
.cookie-banner [hidden] {
  display: none;
}

.cookie-banner__inner {
  width: 100%;
  max-width: 720px;
  padding: var(--space-24);
  border-radius: 20px;
  background: var(--light);
  color: var(--trust);
  box-shadow: 0 8px 32px rgba(0, 40, 86, 0.18);
}

.cookie-banner__title {
  margin: 0 0 var(--space-8);
  font-size: var(--fs-20);
  font-weight: var(--weight-semibold);
  line-height: var(--lh-130);
}

.cookie-banner__text {
  margin: 0 0 var(--space-16);
  font-size: var(--fs-16);
  line-height: var(--lh-150);
}

.cookie-banner__text a {
  color: inherit;
  text-decoration: underline;
}

.cookie-banner__options {
  display: grid;
  gap: var(--space-12);
  margin: 0 0 var(--space-16);
}

.cookie-banner__option {
  display: flex;
  gap: var(--space-12);
  align-items: flex-start;
  font-size: var(--fs-16);
  line-height: var(--lh-150);
}

.cookie-banner__option input {
  margin-top: var(--space-4);
}

.cookie-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
}

/* El enlace "Configuración de cookies" del pie es un botón: abre el banner, no lleva a ninguna página. */
button.footer__legal-link {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

/* El banner va sobre --z-header, que la landing no tiene: por encima del loader (z-index 100). */
:root {
  --z-header: 100;
}

.cookie-banner .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  width: fit-content;
  border-radius: 12px;
  font-family: inherit;
  font-size: var(--fs-18);
  font-weight: var(--weight-semibold);
  letter-spacing: 2%;
  padding: var(--space-16) var(--space-20);
  white-space: nowrap;
  cursor: pointer;
}

.cookie-banner .btn--accent {
  border: 0;
  background: var(--accent, #F18A00);
  color: var(--trust, #002856);
}

.cookie-banner .btn--outline {
  background: transparent;
  border: 2px solid var(--trust, #002856);
  color: var(--trust, #002856);
}

@media (min-width: 1024px) {
  .cookie-banner .btn {
    transition: background-color 0.2s ease, color 0.2s ease;
  }
  .cookie-banner .btn--accent:hover {
    background: var(--control, #1C5EA5);
    color: var(--light, #ffffff);
  }
  .cookie-banner .btn--outline:hover {
    background: var(--trust, #002856);
    border-color: var(--trust, #002856);
    color: var(--light, #ffffff);
  }
}
/* "Configurar cookies" en el pie de la landing: un botón con el aspecto de sus enlaces (finish__footer-nav a). */
.finish__footer-nav button {
  padding: 0;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: var(--fs-12);
  font-weight: var(--weight-medium);
  line-height: inherit;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: color-mix(in srgb, var(--trust, #002856) 55%, transparent);
  white-space: nowrap;
  cursor: pointer;
}

@media (min-width: 1024px) {
  .finish__footer-nav button {
    transition: color 0.2s ease;
  }
  .finish__footer-nav button:hover {
    color: var(--control, #1C5EA5);
  }
}
/* home-link — idea aparte: en la pantalla final, el logo lleva a la web, con una flecha
   (Views/Event/_FruitAttraction2026HomeLink). En el resto de pantallas el logo no es un enlace: nadie sale a mitad
   del check-in. Se pone encima del logo de la cabecera, en su mismo sitio, y lo tapa. */
.site-header__home {
  position: absolute;
  top: var(--page-margin);
  left: var(--page-margin);
  display: none;
  align-items: center;
  gap: var(--space-8);
  color: var(--light, #ffffff);
  text-decoration: none;
}

.app-shell:has(.screen--finish.is-active) .site-header > .site-header__logo {
  visibility: hidden;
}

.app-shell:has(.screen--finish.is-active) .site-header__home {
  display: flex;
}

.site-header__home-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--sky, #3794F6);
  animation: site-header-home-in 0.6s ease-out 1.2s both;
}

.site-header__home-arrow svg {
  width: 12px;
  height: 12px;
  transform: rotate(-45deg);
}

@keyframes site-header-home-in {
  from {
    opacity: 0;
    transform: translateX(-6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-header__home-arrow {
    animation: none;
  }
}
@media (min-width: 1024px) {
  .site-header__home {
    top: var(--space-32);
  }
  .site-header__home-arrow {
    transition: background-color 0.2s ease;
  }
  .site-header__home:hover .site-header__home-arrow {
    background: var(--control, #1C5EA5);
  }
}

/*# sourceMappingURL=fruit-attraction-2026.css.map */
