/* page-index.css - Styles for the landing page of FinFunFest */

.color-green20 {
  color: #c7ff77 !important;
}

.color-green50 {
  color: #95e94c !important;
}

.color-blue {
  color: #25d7ff !important;
}
.color-blue60 {
  color: #0086f2 !important;
}

.section__button {
  width: min(100%, 392px);
  min-height: clamp(46px, 3vw, 52px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 1.45rem;
  border-radius: 999px;
  border: 1.5px solid transparent;
  border: none;
  font-family: var(--font-family-base);
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.section__button:hover,
.section__button:focus {
  transform: translateY(-2px);
}

.section__button--primary {
  background: linear-gradient(180deg, #c8ff57 0%, #56d64c 100%);
  box-shadow:
    0 16px 30px rgba(11, 19, 37, 0.34),
    inset 0 -2px 0 rgba(0, 0, 0, 0.14);
  color: #071118;
}

.section__button--primary:hover,
.section__button--primary:focus {
  color: #071118;
  box-shadow:
    0 22px 34px rgba(11, 19, 37, 0.42),
    inset 0 -2px 0 rgba(0, 0, 0, 0.14);
}

.section__button--secondary {
  border-color: #25d7ff;
  background: rgba(14, 19, 35, 0.18);
  box-shadow:
    inset 0 0 0 1px rgba(37, 215, 255, 0.14),
    0 0 18px rgba(37, 215, 255, 0.08);
  color: #25d7ff;
}

.section__button--secondary:hover,
.section__button--secondary:focus {
  color: #25d7ff;
  border-color: #4be2ff;
  box-shadow:
    inset 0 0 0 1px rgba(37, 215, 255, 0.14),
    0 0 22px rgba(37, 215, 255, 0.16);
}

.front-page-brand__button {
  width: min(100%, 392px);
  min-height: clamp(46px, 3vw, 52px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 1.45rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    background-color 0.2s ease;
}

.front-page-brand__button:hover,
.front-page-brand__button:focus {
  transform: translateY(-2px);
}

.front-page-brand__button--primary {
  background: linear-gradient(90deg, #0086f2 0%, #38d8fc 92%);
  color: #09111d;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.08),
    0 12px 24px rgba(0, 134, 242, 0.18);
}

.front-page-brand__button--primary:hover,
.front-page-brand__button--primary:focus {
  color: #09111d;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.08),
    0 16px 30px rgba(0, 134, 242, 0.24);
}

.front-page-brand__button--secondary {
  border-color: rgba(255, 255, 255, 0.9);
  background: rgba(8, 11, 23, 0.16);
  color: #ffffff;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 0 18px rgba(255, 255, 255, 0.04);
}

.front-page-brand__button--secondary:hover,
.front-page-brand__button--secondary:focus {
  color: #ffffff;
  border-color: #ffffff;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.08),
    0 0 22px rgba(255, 255, 255, 0.08);
}

/* begin: section hero */
#section-main {
  background-color: #141726;
  background-image: url("../img/index/hero-mobile-11.webp");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  color: #fff;
}

.container-date-desktop {
  padding-top: 12rem;
  display: none;
}

.container-date-mobile {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: 1px solid #fff;
  border-radius: 8px;
  padding: 6px 8px;
  gap: 4px;
}

.hero-promo-section__date-icon {
  color: #25d7ff;
  font-size: clamp(0.875rem, 1.7vw, 1.5rem);
  line-height: 1.1;
}

.hero-promo-section__date-text {
  margin: 0;
  color: #ffffff;
  font-family: var(--font-family-base);
  font-size: clamp(0.7rem, 2vw, 1.5rem);
  font-weight: 600;
  line-height: 1.1;
  text-transform: uppercase;
}

.hero-promo-section__date-divider {
  width: 1px;
  height: 24px;
  background: #fff;
}

.hero-promo-card {
  border: 2px solid #38d8fc;
  padding: 24px;
  border-radius: 1rem;
  background: transparent;
  box-shadow:
    0 0 0 1px rgba(56, 216, 252, 0.12),
    0 0 15px rgba(56, 216, 252, 0.45),
    inset 0 0 18px rgba(56, 216, 252, 0.04);
}

.hero-promo-card__header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.hero-promo-card__header::before,
.hero-promo-card__header::after {
  content: "";
  flex: 1 1 auto;
  min-width: 1rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(185, 248, 78, 0.88));
}

.hero-promo-card__header::after {
  background: linear-gradient(90deg, rgba(185, 248, 78, 0.88), transparent);
}

.hero-promo-card__eyebrow {
  margin: 0;
  color: #ffffff;
  font-family: var(--font-family-display);
  font-size: clamp(1.25rem, 1.75vw, 1.75rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}

.hero-promo-card__offer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.hero-promo-card__discount,
.hero-promo-card__code {
  margin: 0;
  font-family: var(--font-family-display);
  font-size: clamp(1.75rem, 2vw, 2.5rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.hero-promo-card__discount {
  color: #b9f84e;
}

.hero-promo-card__code {
  color: #ffffff;
}

.hero-promo-card__countdown {
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
  gap: clamp(0.18rem, 1vw, 0.55rem);
  padding: clamp(0.75rem, 2vw, 1rem) clamp(0.75rem, 2vw, 1.4rem);
  border: 1.5px solid rgba(185, 248, 78, 0.9);
  border-radius: 8px;
  background: #0f121e;
  box-shadow:
    0 0 0 1px rgba(185, 248, 78, 0.12),
    0 0 22px rgba(185, 248, 78, 0.3),
    inset 0 0 18px rgba(185, 248, 78, 0.04);
}

.hero-promo-card__countdown-item {
  min-width: 0;
  flex: 1 1 0;
  display: grid;
  justify-items: center;
}

.hero-promo-card__countdown-number,
.hero-promo-card__countdown-separator {
  color: #b9f84e;
  font-family: var(--font-family-dsdigital);
  font-size: clamp(2.4rem, 9vw, 4.25rem);
  font-weight: 700;
  line-height: 0.75;
  letter-spacing: 0.03em;
  text-shadow:
    0 0 8px rgba(185, 248, 78, 0.48),
    0 0 20px rgba(185, 248, 78, 0.2);
}

.hero-promo-card__countdown-separator {
  flex: 0 0 auto;
  align-self: flex-start;
  margin-top: clamp(-0.1rem, -0.5vw, 0);
}

.hero-promo-card__countdown-label {
  color: #b9f84e;
  font-family: var(--font-family-base);
  font-size: clamp(0.62rem, 1.3vw, 0.75rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.hero-promo-card__footer {
  margin: 0px;
  color: #cbff67;
  font-family: var(--font-family-base);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}

.hero-promo-section__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  justify-content: center;
}

.hero-promo-section__logo-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;

  padding-top: 15rem;
  margin-bottom: -2rem;
}
.hero-promo-section__logo {
  max-width: 420px;
}

.container-logo-arena1-main img {
  width: 56px;
  height: 21px;
}
.hero-promo-section__content {
  padding-top: 30rem;
}

@media (min-width: 576px) {
  .hero-promo-section__content {
    padding-top: 45rem;
  }
  .hero-promo-section__logo-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .hero-promo-section__content {
    padding-top: 55rem;
  }
}

@media (min-width: 992px) {
  .hero-promo-section__content {
    padding-top: 0rem;
  }
  .container-date-desktop {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-top: 0px;
    gap: 0.5rem;
  }

  .container-logo-arena1-main img {
    width: 85px;
    height: 32px;
  }

  #section-main {
    background-image: url("../img/index/hero-desktop-11.webp");
    background-position: center center;
    min-height: 95dvh;
  }
  #section-main .container-row {
    min-height: 95dvh;
  }

  .container-date-mobile {
    display: none;
  }
  .hero-promo-card {
    padding: 0px;
    border: none;
    box-shadow: none;
  }
}
/* end: section hero */

/* begin: section videos */

.front-page-videos__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-videos__subtitle {
  margin: 0;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 400;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-videos__title span {
  color: #25d7ff;
}

.front-page-videos__list {
  display: grid;
  gap: 1.5rem;
}

.front-page-videos__card {
  position: relative;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 1rem;
  background:
    linear-gradient(#111421, #111421) padding-box,
    linear-gradient(90deg, #38d8fc 0%, #95e94c 100%) border-box;
  box-shadow:
    0 0 0 1px rgba(56, 216, 252, 0.12),
    0 0 15px rgba(56, 216, 252, 0.45),
    inset 0 0 18px rgba(56, 216, 252, 0.04);
  overflow: hidden;
}

.front-page-videos__frame {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  aspect-ratio: 16 / 9;
}

.front-page-videos__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.front-page-videos__meta {
  padding: 1rem;
}

.front-page-videos__article-year {
  margin: 0;
  font-size: 32px;
  font-weight: 800;
  line-height: 1;
  color: #25d7ff;
}

.front-page-videos__article-title {
  margin: 0;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
}

.front-page-videos__article-subtitle {
  margin: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.1;
}

.front-page-videos__article-separator {
  position: relative;
}

.front-page-videos__article-separator::before {
  content: "";
  display: block;
  width: 100%;
  min-width: 2rem;
  height: 2px;
  background: linear-gradient(270deg, transparent, rgba(185, 248, 78, 0.88));
}

.front-page-videos__article-stats,
.front-page-videos__article-stats-section {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.front-page-videos__article-stat-label {
  color: #fff;
  font-size: 14px;
  line-height: 1.1;
  font-weight: 400;
}

@media (min-width: 992px) {
  .front-page-videos__list {
    gap: 1.15rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* end: section videos */

/* begin: section media */

.front-page-media__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-media__subtitle {
  margin: 0;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 400;
  line-height: 1.45;
  color: #ffffff;
}

.front-page-media__tabs {
  display: grid;
  width: 100%;
  gap: 1rem;
  min-width: 0;
}

.front-page-media__tabs.is-ready {
  position: relative;
}

.front-page-media__filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  width: min(100%, 466px);
  margin: 0 auto;
}

.front-page-media__filter {
  width: 100%;
  min-width: 0;
  padding: 10px 32px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  transition:
    background-color 0.24s ease,
    box-shadow 0.24s ease,
    color 0.24s ease,
    transform 0.24s ease;
}

.front-page-media__filter:hover,
.front-page-media__filter:focus-visible {
  box-shadow: inset 0 0 0 1px rgba(37, 185, 255, 0.4);
  outline: 0;
}

.front-page-media__filter.is-active {
  background: linear-gradient(135deg, #25b9ff, #1498ff);
  box-shadow:
    0 10px 24px rgba(37, 185, 255, 0.26),
    0 0 0 1px rgba(37, 185, 255, 0.18);
  color: #07121f;
}

.front-page-media__panel {
  animation: fadeInYearGallery 0.24s ease;
  min-width: 0;
  width: 100%;
}

.front-page-media__tabs.is-ready .front-page-media__panel {
  grid-column: 1 / -1;
  grid-row: 2;
}

.front-page-media__tabs.is-ready .front-page-media__panel:not(.is-active) {
  position: absolute;
  inset: auto 0 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.front-page-media__tabs.is-ready .front-page-media__panel.is-active {
  position: relative;
  z-index: 1;
  opacity: 1;
  visibility: visible;
}

.front-page-media__carousel {
  width: 100%;
  min-width: 0;
  padding: 0.75rem 0 0;
  outline: 0;
  opacity: 0;
  visibility: hidden;
}

.front-page-media__carousel.is-ready {
  opacity: 1;
  visibility: visible;
}

.front-page-media__viewport {
  width: 100%;
  overflow: hidden;
}

.front-page-media__track {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.5rem, 1.5vw, 1rem);
  min-height: clamp(24rem, 72vw, 36rem);
  transition: none;
  -webkit-transform: translate3d(0, 0, 0);
  will-change: transform;
}

.front-page-media__slide {
  display: flex;
  justify-content: center;
  min-width: 0;
  flex: 0 0 clamp(14.75rem, 38vw, 22rem);
  width: auto;
  overflow: hidden;
  cursor: pointer;
  opacity: 0.56;
  filter: saturate(0.75);
  transition: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.front-page-media__slide[data-position="hidden"] {
  display: none;
}

.front-page-media__slide[data-position="left"],
.front-page-media__slide[data-position="right"] {
  opacity: 0.72;
  filter: saturate(0.92);
}

.front-page-media__slide[data-position="left"] {
  justify-content: flex-end;
}

.front-page-media__slide[data-position="right"] {
  justify-content: flex-start;
}

.front-page-media__slide[data-position="center"],
.front-page-media__slide[data-active="true"] {
  cursor: default;
  opacity: 1;
  filter: none;
}

.front-page-media__video-frame {
  position: relative;
  width: clamp(4.5rem, 14vw, 5.5rem);
  aspect-ratio: 9 / 16;
  flex: 0 0 auto;
  height: auto;
  overflow: hidden;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.front-page-media__slide[data-position="left"] .front-page-media__video-frame,
.front-page-media__slide[data-position="right"] .front-page-media__video-frame {
  width: clamp(4.5rem, 14vw, 5.5rem);
  max-width: none;
}

.front-page-media__slide[data-position="center"] .front-page-media__video-frame,
.front-page-media__slide[data-active="true"] .front-page-media__video-frame {
  width: min(100%, 14.75rem);
  box-shadow: none;
}

.front-page-media__video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.front-page-media__slide:not([data-active="true"])
  .front-page-media__video-frame
  iframe {
  pointer-events: none;
}

.front-page-media__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
}

.front-page-media__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  transition:
    transform 0.24s ease,
    background-color 0.24s ease,
    box-shadow 0.24s ease;
}

.front-page-media__nav:hover,
.front-page-media__nav:focus-visible {
  background: rgba(37, 185, 255, 0.18);
  box-shadow: inset 0 0 0 1px rgba(37, 185, 255, 0.35);
  outline: 0;
  transform: translateY(-1px);
}

.front-page-media__nav:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}

.front-page-media__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.front-page-media__dot {
  width: 0.7rem;
  height: 0.7rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.24);
  transition:
    transform 0.24s ease,
    background-color 0.24s ease,
    box-shadow 0.24s ease;
}

.front-page-media__dot[aria-selected="true"] {
  background: #25b9ff;
  box-shadow: 0 0 0 4px rgba(37, 185, 255, 0.16);
  transform: scale(1.08);
}

.front-page-media__note {
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: center;
  gap: 0.5rem;
  margin: 0;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.1;
}

@media (min-width: 992px) {
  .front-page-media__content {
    max-width: min(100%, 82rem);
  }

  .front-page-media__viewport {
    overflow: visible;
  }

  .front-page-media__track {
    justify-content: center;
    min-height: 0;
  }

  .front-page-media__slide {
    flex-basis: clamp(9.5rem, 21vw, 17.5rem);
  }

  .front-page-media__slide[data-position="left"],
  .front-page-media__slide[data-position="right"] {
    flex-basis: clamp(9rem, 22vw, 20rem);
  }

  .front-page-media__slide[data-position="center"],
  .front-page-media__slide[data-active="true"] {
    flex-basis: clamp(16rem, 28vw, 23rem);
  }

  .front-page-media__video-frame {
    width: min(100%, 18rem);
  }

  .front-page-media__slide[data-position="left"] .front-page-media__video-frame,
  .front-page-media__slide[data-position="right"]
    .front-page-media__video-frame {
    width: clamp(15rem, 28vw, 19rem);
  }

  .front-page-media__slide[data-position="center"]
    .front-page-media__video-frame,
  .front-page-media__slide[data-active="true"] .front-page-media__video-frame {
    width: min(100%, 21.5rem);
  }
}

/* end: section media */

/* begin: section speakers */

.speaker-banner {
  --speaker-banner-bg: url("../img/index/speakers/speaker-banner-bg-mobile.webp");
  --speaker-banner-content-width: 18.5rem;
  --speaker-banner-title-size: clamp(1.75rem, 8.4vw, 2.55rem);
  --speaker-banner-script-size: clamp(3rem, 16vw, 4.85rem);
  --speaker-banner-description-width: 17rem;
  --speaker-banner-description-size: clamp(0.58rem, 2.45vw, 0.72rem);
  --speaker-banner-partner-width: clamp(4.8rem, 22vw, 6rem);
  --speaker-banner-button-width: min(100%, 13rem);
  --speaker-banner-button-height: clamp(2.2rem, 9vw, 2.65rem);
  --speaker-banner-button-size: clamp(0.64rem, 2.8vw, 0.78rem);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  aspect-ratio: 342 / 527;
  min-height: 0;
  padding: clamp(1rem, 5vw, 1.5rem) clamp(1rem, 5vw, 1.5rem) clamp(1rem, 4vw, 1.35rem);
  background: #081525;
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.32);
  contain: layout paint;
}

.speaker-banner__background {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--speaker-banner-bg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
}

/* .speaker-banner__background::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0 34%, rgba(5, 12, 24, 0.1) 52%, rgba(5, 12, 24, 0.76) 78%, rgba(5, 12, 24, 0.94) 100%);
} */

.speaker-banner__photo {
  position: absolute;
  top: clamp(5rem, 17vw, 5.8rem);
  bottom: auto;
  left: 50%;
  z-index: 1;
  width: min(118%, 29rem);
  height: auto;
  transform: translateX(-55%);
  aspect-ratio: 461 / 336;
  object-fit: contain;
  opacity: 0.9;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 72%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 72%, transparent 100%);
  filter:
    saturate(1.08)
    contrast(1.06)
    drop-shadow(0 1.2rem 1.1rem rgba(5, 12, 24, 0.62));
}

.speaker-banner__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  max-width: var(--speaker-banner-content-width);
  min-height: 100%;
  margin-inline: auto;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.52);
}

.speaker-banner__eyebrow {
  margin: 0;
  padding: 0.18rem 0.58rem 0rem 0.58rem;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 999px;
  background: rgba(8, 18, 32, 0.46);
  font-family: var(--font-family-display);
  font-size: clamp(0.66rem, 2.8vw, 0.75rem);
  font-weight: 400;
  line-height: 1.1667;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.speaker-banner__title {
  margin: 0.35rem 0 0;
  max-width: 11ch;
  font-family: var(--font-family-base);
  font-size: var(--speaker-banner-title-size);
  font-weight: 800;
  font-style: italic;
  line-height: 0.96;
  letter-spacing: 0;
  text-transform: uppercase;
}

.speaker-banner__title span {
  display: block;
  font-family: var(--font-family-script);
  font-size: var(--speaker-banner-script-size);
  font-weight: 400;
  font-style: normal;
  line-height: 0.5;
  color: #95e94c;
  -webkit-text-stroke: 0.5px #95e94c;
  text-transform: none;
}

.speaker-banner__description {
  width: min(100%, var(--speaker-banner-description-width));
  margin: 0;
  font-size: var(--speaker-banner-description-size);
  font-weight: 500;
  line-height: 1.25;
}

.speaker-banner__partner {
  display: block;
  width: var(--speaker-banner-partner-width);
  height: auto;
  margin: 0.5rem 0 0;
}

.speaker-banner .section__button {
  width: var(--speaker-banner-button-width);
  min-height: var(--speaker-banner-button-height);
  margin-top: 0.78rem;
  font-size: var(--speaker-banner-button-size);
  text-shadow: none;
}

.front-page-speakers__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-speakers__subtitle {
  margin: 0;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 400;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-speakers__divider {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
}

.front-page-speakers__divider-line {
  display: block;
  height: 1px;
  background: rgba(141, 239, 70, 0.9);
}

.front-page-speakers__divider-line:first-of-type {
  background: linear-gradient(
    90deg,
    rgba(20, 23, 38, 0.12) 0%,
    rgba(149, 233, 76, 0.45) 45%,
    rgba(149, 233, 76, 0.9) 100%
  );
}

.front-page-speakers__divider-line:last-of-type {
  background: linear-gradient(
    90deg,
    rgba(149, 233, 76, 0.9) 0%,
    rgba(149, 233, 76, 0.45) 55%,
    rgba(20, 23, 38, 0.12) 100%
  );
}

.front-page-speakers__divider-title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  margin: 0;
  font-size: clamp(1rem, 3vw, 1.5rem);
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  color: #fff;
}

.front-page-speakers__list {
  display: grid;
  gap: 1rem;
}

.front-page-speakers__card {
  overflow: hidden;
  border: 1.5px solid rgba(255, 255, 255, 0.75);
  border-radius: 1rem;
  background: rgba(14, 19, 33, 0.96);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
}

.front-page-speakers__card > [itemprop="item"] {
  display: grid;
  grid-template-columns: 40% 60%;
  align-items: stretch;
  min-height: 100%;
}

.front-page-speakers__photo {
  border-radius: 1rem;
  overflow: hidden;
  background:
    radial-gradient(
      circle at top center,
      rgba(37, 215, 255, 0.22),
      transparent 55%
    ),
    linear-gradient(180deg, #1f304f, #0e1628);
}

.front-page-speakers__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.front-page-speakers__body {
  display: grid;
  align-content: start;
  padding: 1rem;
  min-width: 0;
}

.front-page-speakers__name {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.05;
  color: #8ef046;
  text-transform: uppercase;
}

.front-page-speakers__card:nth-child(2) .front-page-speakers__name {
  color: #25d7ff;
}

.front-page-speakers__role {
  margin: 0;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.1;
}

.front-page-speakers__bio {
  margin: 0;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.1;
  font-weight: 500;
}

.front-page-speakers__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.45rem 0.45rem;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
}
.front-page-speakers__meta span {
  text-decoration: underline;
}

@media (min-width: 992px) {
  .speaker-banner {
    --speaker-banner-bg: url("../img/index/speakers/speaker-banner-bg-desktop.webp");
    --speaker-banner-content-width: 25rem;
    --speaker-banner-title-size: clamp(2.35rem, 3.125vw, 2.5rem);
    --speaker-banner-script-size: clamp(4.25rem, 6.25vw, 5rem);
    --speaker-banner-description-width: 24rem;
    --speaker-banner-description-size: 0.75rem;
    --speaker-banner-partner-width: clamp(7.1rem, 11vw, 8.75rem);
    --speaker-banner-button-width: min(100%, 20rem);
    --speaker-banner-button-height: clamp(2.85rem, 3vw, 3.25rem);
    --speaker-banner-button-size: clamp(0.875rem, 1.2vw, 1rem);
    grid-template-columns: minmax(0, 1.12fr) minmax(20rem, 0.88fr);
    align-items: stretch;
    aspect-ratio: 838 / 348;
    padding: clamp(1.3rem, 2.2vw, 2rem);
  }

  .speaker-banner__background {
    background-position: center;
    background-size: cover;
  }

  .speaker-banner__background::after {
    background: linear-gradient(180deg, transparent 0 16%, rgba(5, 12, 24, 0.12) 38%, rgba(5, 12, 24, 0.38) 100%);
  }

  .speaker-banner__photo {
    position: absolute;
    top: auto;
    bottom: 0;
    left: clamp(1rem, 2vw, 2.5rem);
    z-index: 1;
    width: min(52%, 28.75rem);
    max-height: none;
    transform: none;
    opacity: 0.96;
    object-fit: contain;
    -webkit-mask-image: none;
    mask-image: none;
    filter: saturate(1.08) contrast(1.06);
  }

  .speaker-banner__content {
    grid-column: 2;
    grid-row: 1;
    z-index: 2;
    justify-content: center;
    align-items: flex-start;
    max-width: var(--speaker-banner-content-width);
    padding-inline: 0 clamp(1rem, 2.4vw, 2rem);
    text-align: left;
  }

  .front-page-speakers__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

/* end: section speakers */

/* begin: section plans */
#section-planes {
  background: #0f121e;
}

.front-page-pricing__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-pricing__subtitle {
  margin: 0;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 400;
  line-height: 1.45;
  color: #ffffff;
}

.front-page-pricing__arena-note {
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: center;
  gap: 0.5rem;
  margin: 0;
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.1;
}

.front-page-pricing__arena-note-icon {
  color: #95e94c;
  font-size: 1rem;
  line-height: 1;
}

.front-page-pricing__table-card {
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.front-page-pricing__table-badges {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.front-page-pricing__pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.18rem;
  position: relative;

  padding: 6px;
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 1rem;
  text-align: center;
  background: rgba(23, 26, 42, 0.72);
}

.front-page-pricing__pill strong {
  color: #ffffff;
  font-size: 20px;
  font-family: var(--font-family-display);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.front-page-pricing__pill-early {
  color: #95e94c !important;
}

.front-page-pricing__pill-title--lote-1 {
  color: #38d8fc !important;
}

.front-page-pricing__pill-title--lote-2 {
  display: inline-block;
  background: linear-gradient(
    90deg,
    #07aab9 0%,
    #01e7aa 41%,
    #01e7aa 59%,
    #07aab9 100%
  );
  color: transparent !important;
  -webkit-background-clip: text;
  background-clip: text;
}

.front-page-pricing__pill-title--fiestas {
  display: inline-block;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
  position: relative;
  z-index: 1;
}

.front-page-pricing__pill-title-sub {
  display: block;
  background: linear-gradient(90deg, #ff453d 0%, #ff8782 47%, #ff453d 100%);
  color: transparent !important;
  font-family: var(--font-family-display);
  font-size: 1em;
  line-height: 0.75;
  position: relative;
  z-index: 2;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.front-page-pricing__pill-title-sub-small {
  display: block;
  background: linear-gradient(90deg, #ff453d 0%, #ff8782 47%, #ff453d 100%);
  color: transparent !important;
  font-family: var(--font-family-display);
  font-size: 0.9rem;
  line-height: 1;
  position: relative;
  font-weight: 400 !important;
  z-index: 2;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.front-page-pricing__pill-title--regular {
  display: inline-block;
  background: linear-gradient(
    90deg,
    #ffd119 0%,
    #997d0f 18%,
    #ffd119 37%,
    #ffe16b 51%,
    #f6ca18 63%,
    #a68810 84%,
    #ffd119 100%
  );
  color: transparent !important;
  -webkit-background-clip: text;
  background-clip: text;
}

.front-page-pricing__pill small {
  color: rgba(255, 255, 255, 0.74);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}

.front-page-pricing__pill--activate {
  border: 3px solid transparent;
  box-shadow:
    0 0 0 1px rgba(255, 103, 38, 0.36),
    0 0 13px rgba(255, 154, 46, 0.78),
    0 0 28px rgba(255, 103, 38, 0.45);
}

.front-page-pricing__heading-label,
.front-page-pricing__table thead th:nth-child(2) {
  color: #95e94c;
}

.front-page-pricing__pill--soldout {
  overflow: hidden;
}

.front-page-pricing__pill-soldout-badge {
  position: absolute;
  left: 50%;
  top: 60%;
  width: clamp(5rem, 8vw, 6rem);
  max-width: 100%;
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
}

.front-page-pricing__pill-coupon {
  display: grid;
  justify-items: center;
  gap: 0;
  width: 100%;
  padding: 0.35rem 0.4rem;
  border-radius: 0.5rem;
}
.front-page-pricing__pill-coupon--activate {
  background: linear-gradient(90deg, #ff6726 0%, #ff9a2e 52%, #ff6726 100%);
  color: #171a2a;
}

/* .front-page-pricing__pill-coupon--activate {
  background: linear-gradient(90deg, #ff453d 0%, #ff8782 47%, #ff453d 100%);
  color: #171a2a;
} */
.front-page-pricing__pill-coupon--muted {
  background: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.68);
}

.front-page-pricing__pill-lote-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}

.front-page-pricing__pill-discount {
  font-size: clamp(16px, 1.5vw, 20px);
  font-weight: 900;
  font-family: var(--font-family-display);
  line-height: 1;
}

.front-page-pricing__pill-caption {
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
}

.front-page-pricing__pill-lock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 50%;
  bottom: 0.65rem;
  transform: translateX(-50%);
  margin-top: 0;
  color: rgba(255, 255, 255, 0.42);
  font-size: 1rem;
}

.front-page-pricing__table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0 0.5rem;
  padding-top: 0.05rem;
}

.front-page-pricing__col--zone {
  width: 20%;
}

.front-page-pricing__col--early {
  width: 9%;
}

.front-page-pricing__col--lote-1,
.front-page-pricing__col--lote-2,
.front-page-pricing__col--regular {
  width: 10%;
}

.front-page-pricing__table thead th {
  padding: 0 0.05rem;
  color: #ffffff;
  font-family: var(--font-family-display);
  font-size: 16px;
  font-weight: 700;
  line-height: 0.9;
  text-transform: uppercase;
  text-align: center;
}

.front-page-pricing__table thead th:first-child {
  text-align: center;
}

.front-page-pricing__heading-label {
  display: block;
}
.front-page-pricing__heading-label--preventa-1 {
  color: #38d8fc !important;
}
.front-page-pricing__heading-label--preventa-2 {
  display: inline-block;
  background: linear-gradient(
    90deg,
    #07aab9 0%,
    #01e7aa 41%,
    #01e7aa 59%,
    #07aab9 100%
  );
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.front-page-pricing__heading-label--preventa-3 {
  display: inline-block;
  background: linear-gradient(90deg, #a13cff 0%, #e03bf6 50%, #a13cff 100%);
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}
.front-page-pricing__heading-label--preventa-4 {
  display: inline-block;
  background: linear-gradient(90deg, #ff6726 0%, #ff9a2e 52%, #ff6726 100%);

  color: transparent !important;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}
.front-page-pricing__heading-label--preventa-5 {
  display: inline-block;
  color: #71e8eb!important;
}

.front-page-pricing__heading-label--yellow {
  display: inline-block;
  background: linear-gradient(
    90deg,
    #ffd119 0%,
    #997d0f 18%,
    #ffd119 37%,
    #ffe16b 51%,
    #f6ca18 63%,
    #a68810 84%,
    #ffd119 100%
  );
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.front-page-pricing__heading-note {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(149, 233, 76, 0.16);
  color: #95e94c;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
}

.front-page-pricing__heading-stage {
  display: block;
  margin-top: 0.15rem;
  color: #2ecbff;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  text-transform: none;
}

.front-page-pricing__table tbody td {
  padding: 0.45rem 0.55rem;
  background: #111523;
  color: #ffffff;
  vertical-align: middle;
}

.front-page-pricing__table tbody td:first-child {
  padding: 0.5rem 0.25rem 0.5rem 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.32);
  border-bottom: 1px solid rgba(255, 255, 255, 0.32);
  border-left: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 0.75rem 0 0 0.75rem;
}

.front-page-pricing__table tbody td:not(:first-child) {
  padding: 0.5rem 0.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.32);
  border-bottom: 1px solid rgba(255, 255, 255, 0.32);
}

.front-page-pricing__table tbody td:last-child {
  padding: 0.5rem 0.5rem 0.5rem 0.25rem;
  border-right: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 0 0.75rem 0.75rem 0;
}

.front-page-pricing__table-zone {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: clamp(0.75rem, 1vw, 1rem);
  font-weight: 500;
  color: #ffffff;
}

.front-page-pricing__table-zone > [class^="circle-zona-"] {
  flex: 0 0 auto;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 999px;
}

.circle-zona-estudiantesgeneral {
  background: #38d8fc;
  box-shadow: 0 0 10px rgba(56, 216, 252, 0.32);
}

.circle-zona-general {
  background: #95e94c;
  box-shadow: 0 0 10px rgba(149, 233, 76, 0.32);
}

.circle-zona-vip {
  background: #a13cff;
  box-shadow: 0 0 10px rgba(161, 60, 255, 0.32);
}

.circle-zona-supervip {
  background: #01e7aa;
  box-shadow: 0 0 10px rgba(1, 231, 170, 0.32);
}

.circle-zona-meetgreet {
  background: #ffd119;
  box-shadow: 0 0 10px rgba(255, 209, 25, 0.32);
}

.front-page-pricing__table-price {
  font-size: clamp(0.75rem, 1vw, 1rem);
  font-weight: 500;
  text-align: center;
  color: #ffffff;
}

.front-page-pricing__table-price .color-tachado {
  position: relative;
  display: inline-block;
  color: rgba(255, 255, 255, 0.34);
}

.front-page-pricing__table-price .color-tachado::after {
  content: "";
  position: absolute;
  left: -6%;
  top: 52%;
  width: 112%;
  height: 2px;
  background: #ff2f44;
  transform: rotate(-12deg);
  transform-origin: center;
  pointer-events: none;
}

.front-page-pricing__table-price .color-muted {
  color: rgba(255, 255, 255, 0.34) !important;
}

.front-page-pricing__note {
  margin: 0;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.1;
}

@media (min-width: 992px) {
}
/* end: section plans */

/* begin: section section-planes-cards */

#section-planes-cards {
  position: relative;
  background: #161a2d;
}

.front-page-pricing-divider {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  width: 100%;
  height: 2.75rem;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background: #0f121e;
}

#section-planes-cards {
  background: #161a2d;
}

.front-page-pricing-cards__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: #ffffff;
}
.front-page-pricing-cards__grid {
  display: grid;
  gap: 1rem;
}
.front-page-plan-card {
  display: grid;
  gap: 1rem;
  padding: 1.5rem 1rem;
  border: 1px solid transparent;
  border-radius: 16px;
  background-color: rgba(22, 26, 45, 0.92);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.front-page-plan-card.border-estudiantes {
  border-color: #38d8fc;
}

.front-page-plan-card.border-general {
  border-color: #95e94c;
}

.front-page-plan-card.border-vip {
  border-color: #a13cff;
}

.front-page-plan-card.border-supervip {
  border-color: #01e7aa;
}

.front-page-plan-card.border-meetgreet {
  border-color: #ffd119;
}

.front-page-plan-card.background-estudiantes {
  background-image: url("../img/index/plans/bg-estudiantes-mobile.webp");
}

.front-page-plan-card.background-general {
  background-image: url("../img/index/plans/bg-general-mobile.webp");
}

.front-page-plan-card.background-vip {
  background-image: url("../img/index/plans/bg-vip-mobile.webp");
}

.front-page-plan-card.background-supervip {
  background-image: url("../img/index/plans/bg-supervip-mobile.webp");
}

.front-page-plan-card.background-meetgreet {
  background-image: url("../img/index/plans/bg-meetgreet-mobile.webp");
}
.card-plan__eyebrow {
  font-size: 12px;
  line-height: 1.1;
  padding: 2px 12px;
  border-radius: 999px;
}

.card-plan {
  display: grid;
  grid-template-columns: 55% 45%;
  align-items: center;
  gap: 0;
}

.card-plan__content {
  display: grid;
  align-content: start;
  margin-bottom: auto;
  gap: 0.5rem;
  min-width: 0;
}

.card-plan__copy {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
}

.card-plan__purchase {
  display: grid;
  gap: 0.75rem;
  align-content: start;
  justify-items: center;
}

.card-plan__price-box {
  display: grid;
  gap: 0.2rem;
  text-align: center;
  width: 100%;
}

.card-plan__title {
  margin: 0;
  line-height: 1.1;
  font-size: 24px;
  font-weight: 700;
  width: auto;
}

.card-plan__subtitle {
  margin: 0;
  line-height: 1.1;
  font-size: 11px;
  border-width: 1px;
  border-style: solid;
  border-radius: 999px;
  padding: 2px 10px;
  width: max-content;
}

.card-plan__descriptions {
  --plan-accent: #ffffff;
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.card-plan__description {
  position: relative;
  margin: 0;
  padding-left: 1rem;
  color: #ffffff;
  font-size: 11px;
  line-height: 1.2;
}

.card-plan__description::before {
  content: "";
  position: absolute;
  top: 0.38rem;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--plan-accent);
}

.card-plan__price {
  margin: 0;
  line-height: 1.1;
  font-size: clamp(24px, 4vw, 28px);
  color: #fff;
  font-weight: 700;
}

.card-plan__pricediscount {
  margin: 0;
  line-height: 1.1;
  font-size: 12px;
  color: #fff;
  font-weight: 500;
  text-align: inherit;
}

.card-plan__pricediscount--muted {
  color: rgba(255, 255, 255, 0.42);
}

.card-plan__cta-wrap {
  width: 100%;
}

.card-plan__button {
  border-radius: 40px;
  width: min(100%, 160px);
  font-family: var(--font-family-base);
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 800;
  height: 36px;
  line-height: 1.1;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px 24px;
  text-decoration: none;
}

.front-page-plan-card.background-estudiantes .card-plan__eyebrow {
  background: #ffffff;
  color: #141726;
}

.front-page-plan-card.background-estudiantes .card-plan__title {
  color: #38d8fc;
}

.front-page-plan-card.background-estudiantes
  .card-plan__subtitle:first-of-type {
  color: #38d8fc;
  border-color: #38d8fc;
  background: transparent;
}

.front-page-plan-card.background-estudiantes .card-plan__button {
  background: #38d8fc;
  color: #141726;
}

.front-page-plan-card.background-estudiantes .card-plan__descriptions {
  --plan-accent: #38d8fc;
}

.front-page-plan-card.background-general .card-plan__eyebrow {
  background: #ffffff;
  color: #141726;
}

.front-page-plan-card.background-general .card-plan__title {
  color: #95e94c;
}

.front-page-plan-card.background-general .card-plan__subtitle:first-of-type {
  color: #95e94c;
  border-color: #95e94c;
  background: transparent;
}

.front-page-plan-card.background-general .card-plan__button {
  background: #95e94c;
  color: #141726;
}

.front-page-plan-card.background-general .card-plan__descriptions {
  --plan-accent: #95e94c;
}

.front-page-plan-card.background-vip .card-plan__eyebrow {
  background: #ffffff;
  color: #141726;
}

.front-page-plan-card.background-vip .card-plan__title {
  color: #a13cff;
}

.front-page-plan-card.background-vip .card-plan__subtitle:first-of-type {
  color: #a13cff;
  border-color: #a13cff;
  background: transparent;
}

.front-page-plan-card.background-vip .card-plan__button {
  background: #a13cff;
  color: #ffffff;
}

.front-page-plan-card.background-vip .card-plan__descriptions {
  --plan-accent: #a13cff;
}

.front-page-plan-card.background-supervip .card-plan__eyebrow {
  background: #ffffff;
  color: #141726;
}

.front-page-plan-card.background-supervip .card-plan__title {
  color: #01e7aa;
}

.front-page-plan-card.background-supervip .card-plan__subtitle:first-of-type {
  color: #01e7aa;
  border-color: #01e7aa;
  background: transparent;
}

.front-page-plan-card.background-supervip .card-plan__button {
  background: #01e7aa;
  color: #141726;
}

.front-page-plan-card.background-supervip .card-plan__descriptions {
  --plan-accent: #01e7aa;
}

.front-page-plan-card.background-meetgreet .card-plan__eyebrow {
  background: #ffffff;
  color: #141726;
}

.front-page-plan-card.background-meetgreet .card-plan__title {
  color: #ffd119;
}

.front-page-plan-card.background-meetgreet .card-plan__subtitle:first-of-type {
  color: #ffd119;
  border-color: #ffd119;
  background: transparent;
}

.front-page-plan-card.background-meetgreet .card-plan__button {
  background: #ffd119;
  color: #141726;
}

.front-page-plan-card.background-meetgreet .card-plan__descriptions {
  --plan-accent: #ffd119;
}
@media (min-width: 992px) {
  .card-plan__eyebrow {
    width: max-content;
  }

  #section-planes-cards {
    background: #161a2d url("../img/index/bg-plans-desktop.webp") center
      center / cover no-repeat;
  }

  .front-page-pricing-cards__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
  }

  .front-page-plan-card {
    background-image: none;
  }
  .card-plan__button {
    width: 100%;
  }
  .card-plan {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .card-plan__content {
    gap: 0.75rem;
  }

  .card-plan__copy {
    gap: 0.5rem;
  }

  .card-plan__purchase {
    gap: 0.85rem;
    justify-items: start;
    margin-top: auto;
  }

  .card-plan__price-box {
    text-align: left;
  }

  .card-plan__cta-wrap {
    justify-content: flex-start !important;
  }

  .card-plan__button {
    width: min(100%, 280px);
  }
}

@media (min-width: 1200px) {
  .front-page-pricing-cards__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

/* end: section section-planes-cards */

/* begin: section allies */

.front-page-allies__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-allies__subtitle {
  margin: 0;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 400;
  line-height: 1.45;
  color: #ffffff;
}

.front-page-allies__group {
  display: grid;
}

.front-page-allies__divider {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 0.8rem;
}

.front-page-allies__divider-line {
  display: block;
  height: 1px;
  background: rgba(141, 239, 70, 0.9);
}

.front-page-allies__divider-line:first-of-type {
  background: linear-gradient(
    90deg,
    rgba(20, 23, 38, 0.12) 0%,
    rgba(149, 233, 76, 0.45) 45%,
    rgba(149, 233, 76, 0.9) 100%
  );
}

.front-page-allies__divider-line:last-of-type {
  background: linear-gradient(
    90deg,
    rgba(149, 233, 76, 0.9) 0%,
    rgba(149, 233, 76, 0.45) 55%,
    rgba(20, 23, 38, 0.12) 100%
  );
}

.front-page-allies__group-title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  margin: 0;
  font-size: clamp(1rem, 3vw, 1.5rem);
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  color: #fff;
}

.front-page-allies__group-title::before,
.front-page-allies__group-title::after {
  content: "";
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 1px;
  background: linear-gradient(135deg, #38d8fc 0%, #95e94c 100%);
  transform: rotate(45deg);
  box-shadow: 0 0 8px rgba(56, 216, 252, 0.35);
  flex-shrink: 0;
}

.front-page-allies__brands {
  display: grid;
  justify-content: center;
  gap: clamp(0.5rem, 3vw, 2rem);
}

.front-page-allies__brands--organizers {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
}

.front-page-allies__brand {
  display: grid;
  justify-items: center;
  align-content: center;
  min-height: 0;
  margin: 0;
}

.front-page-allies__brand img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: clamp(1.85rem, 6vw, 2.65rem);
  margin-inline: auto;
}

.front-page-allies__featured {
  display: flex;
  justify-content: center;
}

.front-page-allies__featured-brand {
  display: grid;
  place-items: center;
  width: min(100%, 34rem);
  margin: 0;
  padding: clamp(1.55rem, 5vw, 2.5rem) clamp(1rem, 4vw, 1.75rem);
  border: 2px solid transparent;
  border-radius: 1rem;
  background:
    linear-gradient(180deg, #101425 0%, #0f121e 100%) padding-box,
    linear-gradient(90deg, #38d8fc 0%, #95e94c 100%) border-box;
  box-shadow:
    0 0 18px rgba(56, 216, 252, 0.34),
    0 0 22px rgba(149, 233, 76, 0.18);
}

.front-page-allies__featured-brand img {
  display: block;
  width: min(100%, 20rem);
  max-width: 100%;
  height: auto;
}

.front-page-allies__brand figcaption,
.front-page-allies__featured-brand figcaption {
  display: none;
}

@media (min-width: 992px) {
  .front-page-allies__brands--organizers {
    gap: clamp(1.5rem, 4vw, 3rem);
  }

  .front-page-allies__brand img {
    max-height: 3rem;
  }
  .front-page-pricing__table-badges {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
  }
  .front-page-pricing__pill {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.18rem;
    position: relative;

    min-height: 6.35rem;
    padding: 10px 10px;
  }
}
/* end: section allies */

/* begin: section experience */

.front-page-experience__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: #ffffff;
}
.front-page-experience__subtitle {
  margin: 0;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 400;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-experience__track {
  display: grid;
  gap: 1rem;
}

.front-page-experience__card {
  display: grid;
  gap: 0.8rem;
  padding: 1.5rem;
  min-width: 0;
  border: 2px solid transparent;
  border-radius: 1rem;
  background:
    linear-gradient(180deg, #101425 0%, #0f121e 100%) padding-box,
    linear-gradient(90deg, #38d8fc 0%, #95e94c 100%) border-box;
  box-shadow:
    0 0 18px rgba(56, 216, 252, 0.34),
    0 0 22px rgba(149, 233, 76, 0.18);
}

.front-page-experience__card--blue {
  background:
    linear-gradient(180deg, #101425 0%, #0f121e 100%) padding-box,
    linear-gradient(90deg, #38d8fc 0%, #95e94c 100%) border-box;
}

.front-page-experience__card--green {
  background:
    linear-gradient(180deg, #101425 0%, #0f121e 100%) padding-box,
    linear-gradient(90deg, #38d8fc 0%, #95e94c 100%) border-box;
}

.front-page-experience__icon {
  width: 1.5rem;
  line-height: 1;
}

.front-page-experience__icon img {
  display: block;
  width: 100%;
  height: auto;
}

.front-page-experience__card-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.08;
  color: #ffffff;
}

.front-page-experience__card-copy {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.1;
  color: rgba(255, 255, 255, 0.88);
}

.front-page-experience__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.front-page-experience__tag {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid rgba(149, 233, 76, 0.72);
  border-radius: 999px;
  font-size: 0.625rem;
  line-height: 1.1;
  color: #95e94c;
  background: rgba(149, 233, 76, 0.04);
}

.front-page-experience__card--blue .front-page-experience__tag {
  border-color: rgba(56, 216, 252, 0.72);
  color: #38d8fc;
  background: rgba(56, 216, 252, 0.04);
}

@media (min-width: 992px) {
  .front-page-experience__track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
  }

  .front-page-experience__card {
    grid-column: auto;
    height: 100%;
  }
  .front-page-pricing__table {
    min-width: 30rem;
  }
}

@media (min-width: 1200px) {
  .front-page-experience__track {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 2rem;
  }

  .front-page-experience__card {
    grid-column: auto;
    padding: 2.5rem 1rem;
    align-content: start;
    scroll-snap-align: start;
  }

  .front-page-experience__card:nth-child(4),
  .front-page-experience__card:nth-child(5) {
    grid-column: auto;
  }
}

/* end: section experience */

/* begin: section brand */
#section-brand {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(180deg, rgba(6, 8, 16, 0.58), rgba(6, 8, 16, 0.82)),
    url("../img/index/bg-brand-mobile.webp") center center / cover no-repeat;
}

.front-page-brand__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-brand__subtitle {
  margin: 0;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 400;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-brand__creator-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  padding: 1.5rem;
  border: 2px solid rgba(149, 233, 76, 0.95);
  border-radius: 1rem;
  background: rgba(7, 10, 19, 0.62);
  box-shadow:
    inset 0 0 0 1px rgba(149, 233, 76, 0.12),
    0 0 18px rgba(149, 233, 76, 0.22);
  backdrop-filter: blur(4px);
}

.front-page-brand__creator-icon img {
  display: block;
  width: clamp(35.89px, 8vw, 70px);
  height: auto;
}

.front-page-brand__creator-title {
  margin: 0;
  font-size: clamp(1rem, 1.75vw, 1.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: #95e94c;
}

.front-page-brand__creator-text {
  margin: 0;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 400;
  line-height: 1.1;
  color: #fff;
}

@media (min-width: 992px) {
  #section-brand {
    background:
      linear-gradient(180deg, rgba(6, 8, 16, 0.52), rgba(6, 8, 16, 0.76)),
      url("../img/index/bg-brand-desktop.webp") center center / cover no-repeat;
  }
  .front-page-brand__creator-card {
    padding: 2rem 1.5rem;
  }
}

/* end: section brand */

/* begin: section summary */

.front-page-summary__content {
  padding: 1.5rem;
  border: 2px solid transparent;
  border-radius: 1.5rem;
  background:
    linear-gradient(#141726, #141726) padding-box,
    linear-gradient(90deg, #464b63 0%, #191d31 36%, #464b63 67%, #0f121e 100%)
      border-box;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 18px 32px rgba(0, 0, 0, 0.2);
}

.front-page-summary__title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.1;
  color: #ffff;
}

.front-page-summary__subtitle {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.1;
  color: #ffff;
}

.front-page-summary__stats {
  display: grid;
  gap: 18px;
  padding: 1rem;
  border: 1px solid #31a4dc;
  border-radius: 1rem;
  background: transparent;
}

.front-page-summary__stat {
  display: grid;
  justify-content: start;
  grid-template-columns: minmax(4.75rem, 5.5rem) minmax(0, 1fr);
  column-gap: 12px;
}

.front-page-summary__value {
  font-size: 1.875rem;
  line-height: 1.1;
  font-weight: 800;
  color: #5dd341;
  text-align: right;
}

.front-page-summary__label {
  margin: 0;
  color: #fff;
}

.front-page-summary__label span {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.1;
}

.front-page-summary__label small {
  display: block;
  font-size: clamp(0.75rem, 1vw, 0.875rem);
  line-height: 1.1;
  color: #fff;
}

.front-page-summary__date,
.front-page-summary__format,
.front-page-summary__venue {
  margin: 0;
}

.front-page-summary__date {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.1;
  color: #fff;
}

.front-page-summary__date-icon {
  color: #25d7ff;
}

.front-page-summary__format {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.1;
  color: #3db53b;
}

@media (min-width: 992px) {
  .front-page-summary__content {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    grid-template-areas:
      "logo stats"
      "title stats"
      "subtitle stats"
      "meta cta";
    align-items: center;
    column-gap: 2rem;
    padding: 3rem;
    border: 2px solid transparent;
    border-radius: 1.5rem;
    background:
      linear-gradient(#141726, #141726) padding-box,
      linear-gradient(90deg, #464b63 0%, #191d31 36%, #464b63 67%, #0f121e 100%)
        border-box;
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.04),
      0 18px 32px rgba(0, 0, 0, 0.2);
  }

  .front-page-summary__content > .d-flex {
    grid-area: logo;
    justify-content: center !important;
    align-items: center !important;
  }

  .front-page-summary__title {
    grid-area: title;
  }

  .front-page-summary__subtitle {
    grid-area: subtitle;
  }

  .front-page-summary__stats {
    grid-area: stats;
    align-self: start;
    gap: 28px;
    padding: 36px 24px;
  }

  .front-page-summary__meta {
    grid-area: meta;
  }

  .front-page-summary__footer {
    grid-area: cta;
  }
}

/* end: section summary */

/* begin: section community */

.front-page-community__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-community__subtitle {
  margin: 0;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 400;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-community__icon img {
  width: clamp(8rem, 10vw, 150px);
}

.front-page-community__filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  width: min(100%, 466px);
  margin: 0 auto;
}

.front-page-community__filter {
  width: 100%;
  min-width: 0;
  padding: 10px 32px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  transition:
    background-color 0.24s ease,
    box-shadow 0.24s ease,
    color 0.24s ease,
    transform 0.24s ease;
}

.front-page-community__filter:hover,
.front-page-community__filter:focus-visible {
  box-shadow: inset 0 0 0 1px rgba(37, 185, 255, 0.4);
  outline: 0;
}

.front-page-community__filter.is-active {
  background: linear-gradient(135deg, #25b9ff, #1498ff);
  box-shadow:
    0 10px 24px rgba(37, 185, 255, 0.26),
    0 0 0 1px rgba(37, 185, 255, 0.18);
  color: #07121f;
}

.front-page-community__tabs[data-active-tab="speakers"]
  #community-tab-speakers.is-active {
  background: linear-gradient(180deg, #b6f25f 0%, #6ad93f 100%);
  box-shadow:
    0 10px 24px rgba(149, 233, 76, 0.26),
    0 0 0 1px rgba(149, 233, 76, 0.18);
  color: #07121f;
}

.front-page-community__tabs[data-active-tab="asistentes"]
  #community-tab-asistentes.is-active {
  background: linear-gradient(180deg, #ffd85a 0%, #ffbb17 100%);
  box-shadow:
    0 10px 24px rgba(255, 187, 23, 0.24),
    0 0 0 1px rgba(255, 187, 23, 0.18);
  color: #07121f;
}

.front-page-community__panel {
  display: none;
  animation: fadeInYearGallery 0.24s ease;
}

.front-page-community__panel.is-active {
  display: block;
}

.front-page-community__list {
  display: grid;
  gap: 1rem;
}

.front-page-community__card {
  border: 1px solid #38d8fc;
  border-radius: 1rem;
  background: rgba(12, 16, 32, 0.88);
  overflow: hidden;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 0 14px rgba(56, 216, 252, 0.14);
  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease;
}

.front-page-community__card:hover,
.front-page-community__card:focus-within {
  transform: translateY(-2px) scale(1.01);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.05),
    0 8px 24px rgba(56, 216, 252, 0.16);
}

.front-page-community__card-link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.front-page-community__card-link > [itemprop="item"] {
  display: grid;
  grid-template-columns: calc(40% - 0.75rem) 60%;
  align-items: start;
  padding: 0.75rem;
  column-gap: 0.75rem;
  min-height: 100%;
}

.front-page-community__card--speaker {
  border-color: #38d8fc;
}

.front-page-community__card--asistente {
  border-color: #38d8fc;
}

.front-page-community__thumb {
  grid-column: 1;
  grid-row: 2;
  min-height: 5.5rem;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 0.45rem;
  background: rgba(255, 255, 255, 0.08);
}

.front-page-community__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.24s ease;
}

.front-page-community__card:hover .front-page-community__thumb img,
.front-page-community__card:focus-within .front-page-community__thumb img {
  transform: scale(1.05);
}

.front-page-community__head {
  display: contents;
}

.front-page-community__author {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
}

.front-page-community__author-avatar {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(56, 216, 252, 0.16);
  box-shadow: inset 0 0 0 1px rgba(56, 216, 252, 0.28);
  color: #ffffff;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.front-page-community__author-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.front-page-community__author-copy {
  display: grid;
  min-width: 0;
}

.front-page-community__author-name {
  color: #ffffff;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.05;
}

.front-page-community__author-note {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.5rem;
  line-height: 1.1;
}

.front-page-community__content {
  display: contents;
}

.front-page-community__body {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  align-content: start;
  min-width: 0;
}

.front-page-community__tag {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  align-self: start;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  width: fit-content;
  padding: 0.35rem 0.5rem;
  border: 1px solid #38d8fc;
  border-radius: 999px;
  color: #38d8fc;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1;
}

.front-page-community__card--speaker .front-page-community__tag {
  border-color: #95e94c;
  color: #95e94c;
}

.front-page-community__card--speaker .front-page-community__author-avatar {
  background: rgba(149, 233, 76, 0.14);
  box-shadow: inset 0 0 0 1px rgba(149, 233, 76, 0.22);
}

.front-page-community__card--asistente .front-page-community__tag {
  border-color: #ffbb17;
  color: #ffbb17;
}

.front-page-community__card--asistente .front-page-community__author-avatar {
  background: rgba(255, 187, 23, 0.14);
  box-shadow: inset 0 0 0 1px rgba(255, 187, 23, 0.22);
}

.front-page-community__copy {
  position: relative;
  margin: 0;
  padding: 1.5rem 0.85rem 0.45rem 0rem;
  font-size: 0.875rem;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-community__copy::before,
.front-page-community__copy::after {
  position: absolute;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #38d8fc;
}

.front-page-community__copy::before {
  content: "\201C";
  top: 0.25rem;
  left: 0;
}

.front-page-community__copy::after {
  content: "\201D";
  right: 0;
  bottom: -0.35rem;
}

.front-page-community__card--speaker .front-page-community__copy::before,
.front-page-community__card--speaker .front-page-community__copy::after {
  color: #95e94c;
}

.front-page-community__card--asistente .front-page-community__copy::before,
.front-page-community__card--asistente .front-page-community__copy::after {
  color: #ffbb17;
}

.front-page-community__copy span {
  color: #8ef046;
}

@media (min-width: 992px) {
  .front-page-community__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1200px) {
  .front-page-community__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .front-page-community__content {
    min-height: 8rem;
  }

  .front-page-community__card-link > [itemprop="item"] {
    grid-template-columns: calc(45% - 1rem) 55%;
    padding: 1rem;
    column-gap: 1rem;
  }
}

/* end: section community */

/* begin: section moments */
.front-page-moments__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-moments__subtitle {
  margin: 0;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 400;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-moments__years {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.front-page-moments__year {
  min-width: 5.4rem;
  padding: 0.5rem 1rem;
  border: 1px solid #fff;
  border-radius: 999px;
  background: transparent;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  transition:
    background-color 0.24s ease,
    border-color 0.24s ease,
    box-shadow 0.24s ease,
    color 0.24s ease,
    transform 0.24s ease;
}

.front-page-moments__year:hover,
.front-page-moments__year:focus-visible {
  border-color: #25b9ff;
  box-shadow: 0 0 0 1px rgba(37, 185, 255, 0.18);
  outline: 0;
}

.front-page-moments__year.is-active {
  border-color: #0086f2;
  background: linear-gradient(90deg, #0086f2 0%, #38d8fc 92%);
  color: #000000;
}

.front-page-moments__panel {
  animation: fadeInYearGallery 0.24s ease;
}

.front-page-moments__gallery {
  display: grid;
  gap: 1rem;
}

.front-page-moments__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.front-page-moments__media {
  margin: 0;
  border: 2px solid transparent;
  border-radius: 1rem;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(29, 52, 124, 0.55), rgba(13, 18, 33, 0.9))
      padding-box,
    linear-gradient(180deg, #38d8fc 0%, #95e94c 100%) border-box;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.06),
    0 10px 24px rgba(0, 0, 0, 0.22);
}

.front-page-moments__media img {
  display: block;
  width: 100%;
  height: 100%;
}

@media (min-width: 992px) {
  .front-page-moments__gallery {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr) minmax(0, 0.8fr);
    align-items: stretch;
  }

  .front-page-moments__gallery
    > .front-page-moments__media:not(.front-page-moments__media--featured) {
    grid-column: 1;
    grid-row: 1;
  }

  .front-page-moments__gallery > .front-page-moments__media--featured {
    grid-column: 2;
    grid-row: 1;
  }

  .front-page-moments__grid {
    display: contents;
  }

  .front-page-moments__grid > .front-page-moments__media--featured {
    grid-column: 2;
    grid-row: 1;
  }

  .front-page-moments__grid
    > .front-page-moments__media:not(
      .front-page-moments__media--featured
    ):first-child {
    grid-column: 1;
    grid-row: 1;
  }

  .front-page-moments__grid
    > .front-page-moments__media:not(
      .front-page-moments__media--featured
    ):last-child {
    grid-column: 3;
    grid-row: 1;
  }
}

.front-page-moments__stats {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.1fr) minmax(0, 0.95fr);
  border-radius: 1rem;
  border: 2px solid #38d8fc;
  padding: 24px;
  border-radius: 1rem;
  background: transparent;
  box-shadow:
    0 0 0 1px rgba(56, 216, 252, 0.12),
    0 0 15px rgba(56, 216, 252, 0.45),
    inset 0 0 18px rgba(56, 216, 252, 0.04);
}

.front-page-moments__stat {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 0.35rem;
  text-align: center;
}

.front-page-moments__stat:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(-1px / 2);
  width: 1px;
  height: 100%;
  background: #71e8eb;
  transform: translateY(-50%);
}

.front-page-moments__stat-value {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.1;
  color: #95e94c;
}

.front-page-moments__stat-label {
  font-size: 0.75rem;
  line-height: 1.1;
  font-weight: 400;
  color: #fff;
}

@keyframes fadeInYearGallery {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* end: section moments */

/* begin: section faq */
.front-page-faq__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-faq__subtitle {
  margin: 0;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 400;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-faq__list {
  display: grid;
  gap: 12px;
}

.front-page-faq__item {
  border: 2px solid rgba(142, 240, 70, 0.85);
  border-radius: 1rem;
  background: rgba(10, 13, 24, 0.95);
  box-shadow: 0 0 0 rgba(142, 240, 70, 0);
  transition:
    box-shadow 0.24s ease,
    border-color 0.24s ease,
    background-color 0.24s ease;
  overflow: hidden;
}

.front-page-faq__item.is-active {
  border-color: #8ef046;
  box-shadow:
    0 0 0 1px rgba(142, 240, 70, 0.28),
    0 0 18px rgba(142, 240, 70, 0.34),
    0 0 34px rgba(142, 240, 70, 0.18);
}

.front-page-faq__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}

.front-page-faq__trigger-text {
  margin: 0;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
}

.front-page-faq__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  transition:
    transform 0.24s ease,
    color 0.24s ease;
}

.front-page-faq__item.is-active .front-page-faq__icon {
  color: #c7ff77;
  transform: rotate(180deg);
}

.front-page-faq__content {
  padding: 0 1rem 1rem;
}

.front-page-faq__content-text {
  color: #fff;
  font-size: 14px;
  line-height: 1.1;
  margin: 0px;
}

.front-page-faq__support {
  font-size: clamp(1.5rem, 2vw, 2rem);
  font-weight: 700;
  margin: 0px;
  line-height: 1.1;
  color: #ffffff;
}

/* end: section faq */

/* begin: section about */

.front-page-about__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-about__subtitle {
  margin: 0;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 400;
  line-height: 1.1;
  color: #ffffff;
}

.front-page-about__text {
  margin: 0;
  color: #fff;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  font-weight: 400;
}

@media (min-width: 992px) {
  .front-page-about__text-title {
    font-size: clamp(0.875rem, 1.5vw, 1.5rem);
    font-weight: 800;
  }
}

/* end: section about */

/* begin: section footer */
.front-page-footer__copyright {
  margin: 0;
  font-size: 0.75rem;
  color: #fff;
}

/* end: section footer */
