:root {
  --gris-claro: #e0e4de;
  --negro: #000000;
  --morado: #8569f6;
  --cafe: #433939;
  --gris: #a6b9c1;
  --rojo: #ff4c2f;
  --amarillo: #ffc157;
  --verde: #73b133;
  --celeste: #3bafd8;
  --azul: #0a1c3c;
  --fondo: var(--gris-claro);
  --texto: var(--negro);
  --acento: var(--rojo);
  --blanco: #ffffff;
  --font-base: massilia-variable, 'Montserrat', -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --fonty: please-vf, 'Montserrat', -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --container: 150rem;
  --gap: 4rem;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  margin: 0;
  min-height: 100svh;
  font-family: var(--font-base);
  font-size: 1.8rem;
  line-height: 1.5;
  color: var(--texto);
  background: var(--fondo);
  font-optical-sizing: auto;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

img,
svg {
  max-width: 100%;
}

h1,
h2,
h3,
p {
  margin: 0;
}

h1 {
  font-size: 13.66875rem;
  line-height: 1.16;
  margin: 0;
}

h2 {
  font-size: 9.1125rem;
  line-height: 1.16;
  margin: 0;
}

h3 {
  font-size: 6.075rem;
  line-height: 1.16;
  margin: 0;
}

h4 {
  font-size: 4.05rem;
  line-height: 1.16;
  margin: 0;
}

h5 {
  font-size: 2.7rem;
  line-height: 1.16;
  margin: 0;
}

h6 {
  font-size: 1.8rem;
  line-height: 1.16;
  margin: 0;
}

.h-1 {
  font-size: 13.66875rem;
  line-height: 1.16;
}

.h1 {
  font-size: 13.66875rem;
  line-height: 1.16;
}

.h-2 {
  font-size: 9.1125rem;
  line-height: 1.16;
}

.h2 {
  font-size: 9.1125rem;
  line-height: 1.16;
}

.h-3 {
  font-size: 6.075rem;
  line-height: 1.16;
}

.h3 {
  font-size: 6.075rem;
  line-height: 1.16;
}

.h-4 {
  font-size: 4.05rem;
  line-height: 1.16;
}

.h4 {
  font-size: 4.05rem;
  line-height: 1.16;
}

.h-5 {
  font-size: 2.7rem;
  line-height: 1.16;
}

.h5 {
  font-size: 2.7rem;
  line-height: 1.16;
}

.h-6 {
  font-size: 1.8rem;
  line-height: 1.16;
}

.h6 {
  font-size: 1.8rem;
  line-height: 1.16;
}

@media (min-width: 576px) {
  .h-sm-1 {
    font-size: 13.66875rem;
    line-height: 1.16;
  }
  .h-sm-2 {
    font-size: 9.1125rem;
    line-height: 1.16;
  }
  .h-sm-3 {
    font-size: 6.075rem;
    line-height: 1.16;
  }
  .h-sm-4 {
    font-size: 4.05rem;
    line-height: 1.16;
  }
  .h-sm-5 {
    font-size: 2.7rem;
    line-height: 1.16;
  }
  .h-sm-6 {
    font-size: 1.8rem;
    line-height: 1.16;
  }
}
@media (min-width: 768px) {
  .h-md-1 {
    font-size: 13.66875rem;
    line-height: 1.16;
  }
  .h-md-2 {
    font-size: 9.1125rem;
    line-height: 1.16;
  }
  .h-md-3 {
    font-size: 6.075rem;
    line-height: 1.16;
  }
  .h-md-4 {
    font-size: 4.05rem;
    line-height: 1.16;
  }
  .h-md-5 {
    font-size: 2.7rem;
    line-height: 1.16;
  }
  .h-md-6 {
    font-size: 1.8rem;
    line-height: 1.16;
  }
}
@media (min-width: 992px) {
  .h-lg-1 {
    font-size: 13.66875rem;
    line-height: 1.16;
  }
  .h-lg-2 {
    font-size: 9.1125rem;
    line-height: 1.16;
  }
  .h-lg-3 {
    font-size: 6.075rem;
    line-height: 1.16;
  }
  .h-lg-4 {
    font-size: 4.05rem;
    line-height: 1.16;
  }
  .h-lg-5 {
    font-size: 2.7rem;
    line-height: 1.16;
  }
  .h-lg-6 {
    font-size: 1.8rem;
    line-height: 1.16;
  }
}
@media (min-width: 1200px) {
  .h-xl-1 {
    font-size: 13.66875rem;
    line-height: 1.16;
  }
  .h-xl-2 {
    font-size: 9.1125rem;
    line-height: 1.16;
  }
  .h-xl-3 {
    font-size: 6.075rem;
    line-height: 1.16;
  }
  .h-xl-4 {
    font-size: 4.05rem;
    line-height: 1.16;
  }
  .h-xl-5 {
    font-size: 2.7rem;
    line-height: 1.16;
  }
  .h-xl-6 {
    font-size: 1.8rem;
    line-height: 1.16;
  }
}
@media (min-width: 1400px) {
  .h-xxl-1 {
    font-size: 13.66875rem;
    line-height: 1.16;
  }
  .h-xxl-2 {
    font-size: 9.1125rem;
    line-height: 1.16;
  }
  .h-xxl-3 {
    font-size: 6.075rem;
    line-height: 1.16;
  }
  .h-xxl-4 {
    font-size: 4.05rem;
    line-height: 1.16;
  }
  .h-xxl-5 {
    font-size: 2.7rem;
    line-height: 1.16;
  }
  .h-xxl-6 {
    font-size: 1.8rem;
    line-height: 1.16;
  }
}
.fs-1 {
  font-size: 13.66875rem;
}

.fs-2 {
  font-size: 9.1125rem;
}

.fs-3 {
  font-size: 6.075rem;
}

.fs-4 {
  font-size: 4.05rem;
}

.fs-5 {
  font-size: 2.7rem;
}

.fs-6 {
  font-size: 1.8rem;
}

@media (min-width: 576px) {
  .fs-sm-1 {
    font-size: 13.66875rem;
  }
  .fs-sm-2 {
    font-size: 9.1125rem;
  }
  .fs-sm-3 {
    font-size: 6.075rem;
  }
  .fs-sm-4 {
    font-size: 4.05rem;
  }
  .fs-sm-5 {
    font-size: 2.7rem;
  }
  .fs-sm-6 {
    font-size: 1.8rem;
  }
}
@media (min-width: 768px) {
  .fs-md-1 {
    font-size: 13.66875rem;
  }
  .fs-md-2 {
    font-size: 9.1125rem;
  }
  .fs-md-3 {
    font-size: 6.075rem;
  }
  .fs-md-4 {
    font-size: 4.05rem;
  }
  .fs-md-5 {
    font-size: 2.7rem;
  }
  .fs-md-6 {
    font-size: 1.8rem;
  }
}
@media (min-width: 992px) {
  .fs-lg-1 {
    font-size: 13.66875rem;
  }
  .fs-lg-2 {
    font-size: 9.1125rem;
  }
  .fs-lg-3 {
    font-size: 6.075rem;
  }
  .fs-lg-4 {
    font-size: 4.05rem;
  }
  .fs-lg-5 {
    font-size: 2.7rem;
  }
  .fs-lg-6 {
    font-size: 1.8rem;
  }
}
@media (min-width: 1200px) {
  .fs-xl-1 {
    font-size: 13.66875rem;
  }
  .fs-xl-2 {
    font-size: 9.1125rem;
  }
  .fs-xl-3 {
    font-size: 6.075rem;
  }
  .fs-xl-4 {
    font-size: 4.05rem;
  }
  .fs-xl-5 {
    font-size: 2.7rem;
  }
  .fs-xl-6 {
    font-size: 1.8rem;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-1 {
    font-size: 13.66875rem;
  }
  .fs-xxl-2 {
    font-size: 9.1125rem;
  }
  .fs-xxl-3 {
    font-size: 6.075rem;
  }
  .fs-xxl-4 {
    font-size: 4.05rem;
  }
  .fs-xxl-5 {
    font-size: 2.7rem;
  }
  .fs-xxl-6 {
    font-size: 1.8rem;
  }
}
.fw-bolder {
  font-weight: 800;
}

.fonty {
  font-family: var(--fonty);
}

.text-center {
  text-align: center;
}

.fw-normal {
  font-weight: 300;
}

.fw-bold {
  font-weight: 500;
}

.fw-bolder {
  font-weight: 800;
}

.teaser {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: clamp(2.4rem, 4vw, 5rem);
  gap: 2rem;
}

.teaser__head {
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(1.4rem, 1.6vw, 2.4rem);
}

.teaser__logo {
  width: clamp(6.6rem, 7.4vw, 9.8rem);
  height: auto;
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.teaser__title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  line-height: 1.05;
  color: var(--texto);
}

.teaser__title img {
  width: 100%;
  height: auto;
  display: block;
}

.flor {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  pointer-events: none;
}

.flor__svg {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.flor__svg svg {
  width: auto;
  height: 100%;
}

.flor__svg path {
  stroke-linecap: butt;
}

.teaser__foot {
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--gap);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.teaser__foot .l {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}

.countdown {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.8rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.countdown__clock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(1.6rem, 2.4vw, 3.2rem);
}

.countdown__unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}

.countdown__num {
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--texto);
  line-height: 0.9;
}

.countdown__label {
  margin-top: 1em;
  font-weight: 500;
  text-transform: uppercase;
}

.btn-postula {
  display: inline-block;
  background: var(--acento);
  color: var(--blanco);
  text-decoration: none;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: clamp(1.4rem, 1.4vw, 1.7rem);
  padding: 1.1em 2em;
  border-radius: 100rem;
  -webkit-transition: -webkit-transform 0.15s ease, -webkit-filter 0.15s ease;
  transition: -webkit-transform 0.15s ease, -webkit-filter 0.15s ease;
  transition: transform 0.15s ease, filter 0.15s ease;
  transition: transform 0.15s ease, filter 0.15s ease, -webkit-transform 0.15s ease, -webkit-filter 0.15s ease;
}

.btn-postula:hover {
  -webkit-filter: brightness(1.06);
          filter: brightness(1.06);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

.sponsors {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 3%;
  width: 35%;
  min-width: 20em;
}

.sponsors .col {
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1em;
}

.sponsors .col-1 {
  -webkit-box-flex: 1.5;
      -ms-flex: 1.5;
          flex: 1.5;
}

.sponsors .col-2 {
  -webkit-box-flex: 2.78;
      -ms-flex: 2.78;
          flex: 2.78;
}

.sponsors .col-3 {
  -webkit-box-flex: 0.35;
      -ms-flex: 0.35;
          flex: 0.35;
}

.sponsors .col img {
  width: 100%;
  height: auto;
  display: block;
}

.sponsors h5 {
  margin: 0;
  line-height: 1.25;
}

.intro {
  position: fixed;
  inset: 0;
  z-index: 2;
  background-color: var(--fondo);
  -webkit-transition: background-color 0.8s ease;
  transition: background-color 0.8s ease;
}

.intro.is-revealing {
  background-color: transparent;
}

.js .teaser__logo {
  opacity: 0;
  will-change: transform, opacity;
}

.js .teaser__title,
.js .teaser__foot .l,
.js .sponsors {
  opacity: 0;
  -webkit-transition: opacity 1.6s ease;
  transition: opacity 1.6s ease;
}

.teaser__title.is-in,
.teaser__foot .l.is-in,
.sponsors.is-in {
  opacity: 1;
}

@media (max-width: 991.98px) {
  .teaser {
    grid-template-rows: auto 1fr auto;
    text-align: center;
  }
  .teaser__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
    gap: 1.2rem;
  }
  .teaser__title {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
  .teaser__title img {
    height: auto;
    width: 90%;
    max-width: 52rem;
    margin-inline: auto;
  }
  .flor__svg {
    width: 72vw;
  }
  .teaser__foot {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .countdown {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .countdown__unit {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .sponsors {
    width: min(92vw, 46rem);
  }
}
@media (prefers-reduced-motion: reduce) {
  .intro {
    display: none;
  }
  .js .teaser__logo,
  .js .teaser__title,
  .js .teaser__foot .l,
  .js .sponsors {
    opacity: 1;
  }
  .flor__svg path {
    stroke-dashoffset: 0 !important;
  }
}