: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;
  --borde: color-mix(in srgb, var(--negro) 30%, transparent);
  --font-base: massilia-variable, 'Montserrat', -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --fonty: please-vf, 'Montserrat', -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --radius: 0.4rem;
}

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

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

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;
  padding-top: var(--header-h, 11.6rem);
}

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

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
}

a {
  color: inherit;
}

h1 {
  font-family: var(--fonty);
  font-size: clamp(6.4rem, 12.8472222222vw, 22.2rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  margin: 0;
}

h2 {
  font-family: var(--fonty);
  font-size: clamp(5.6rem, 9.8958333333vw, 17.1rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  margin: 0;
}

h3 {
  font-family: var(--fonty);
  font-size: clamp(4.8rem, 7.6388888889vw, 13.2rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  margin: 0;
}

h4 {
  font-family: var(--fonty);
  font-size: clamp(4.2rem, 5.8449074074vw, 10.1rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  margin: 0;
}

h5 {
  font-family: var(--fonty);
  font-size: clamp(3.6rem, 4.5138888889vw, 7.8rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  margin: 0;
}

h6 {
  font-family: var(--fonty);
  font-size: clamp(3.2rem, 3.4722222222vw, 6rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  margin: 0;
}

.h-1 {
  font-size: clamp(6.4rem, 12.8472222222vw, 22.2rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
}

.h1 {
  font-size: clamp(6.4rem, 12.8472222222vw, 22.2rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
}

.h-2 {
  font-size: clamp(5.6rem, 9.8958333333vw, 17.1rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
}

.h2 {
  font-size: clamp(5.6rem, 9.8958333333vw, 17.1rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
}

.h-3 {
  font-size: clamp(4.8rem, 7.6388888889vw, 13.2rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
}

.h3 {
  font-size: clamp(4.8rem, 7.6388888889vw, 13.2rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
}

.h-4 {
  font-size: clamp(4.2rem, 5.8449074074vw, 10.1rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
}

.h4 {
  font-size: clamp(4.2rem, 5.8449074074vw, 10.1rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
}

.h-5 {
  font-size: clamp(3.6rem, 4.5138888889vw, 7.8rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
}

.h5 {
  font-size: clamp(3.6rem, 4.5138888889vw, 7.8rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
}

.h-6 {
  font-size: clamp(3.2rem, 3.4722222222vw, 6rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
}

.h6 {
  font-size: clamp(3.2rem, 3.4722222222vw, 6rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
}

.h-7 {
  font-size: clamp(2.7rem, 2.662037037vw, 4.6rem);
  line-height: 0.86;
  letter-spacing: -0.03em;
}

.h7 {
  font-size: clamp(2.7rem, 2.662037037vw, 4.6rem);
  line-height: 0.86;
  letter-spacing: -0.03em;
}

.h-8 {
  font-size: clamp(2.4rem, 2.0833333333vw, 3.6rem);
  line-height: 0.86;
  letter-spacing: 0;
}

.h8 {
  font-size: clamp(2.4rem, 2.0833333333vw, 3.6rem);
  line-height: 0.86;
  letter-spacing: 0;
}

.h-9 {
  font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
}

.h9 {
  font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
}

.h-10 {
  font-size: clamp(1.9rem, 1.3310185185vw, 2.3rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
}

.h10 {
  font-size: clamp(1.9rem, 1.3310185185vw, 2.3rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
}

@media (min-width: 576px) {
  .h-sm-1 {
    font-size: clamp(6.4rem, 12.8472222222vw, 22.2rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-sm-2 {
    font-size: clamp(5.6rem, 9.8958333333vw, 17.1rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-sm-3 {
    font-size: clamp(4.8rem, 7.6388888889vw, 13.2rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-sm-4 {
    font-size: clamp(4.2rem, 5.8449074074vw, 10.1rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-sm-5 {
    font-size: clamp(3.6rem, 4.5138888889vw, 7.8rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-sm-6 {
    font-size: clamp(3.2rem, 3.4722222222vw, 6rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-sm-7 {
    font-size: clamp(2.7rem, 2.662037037vw, 4.6rem);
    line-height: 0.86;
    letter-spacing: -0.03em;
  }
  .h-sm-8 {
    font-size: clamp(2.4rem, 2.0833333333vw, 3.6rem);
    line-height: 0.86;
    letter-spacing: 0;
  }
  .h-sm-9 {
    font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
    line-height: 0.86;
    letter-spacing: -0.02em;
  }
  .h-sm-10 {
    font-size: clamp(1.9rem, 1.3310185185vw, 2.3rem);
    line-height: 0.86;
    letter-spacing: -0.02em;
  }
}
@media (min-width: 768px) {
  .h-md-1 {
    font-size: clamp(6.4rem, 12.8472222222vw, 22.2rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-md-2 {
    font-size: clamp(5.6rem, 9.8958333333vw, 17.1rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-md-3 {
    font-size: clamp(4.8rem, 7.6388888889vw, 13.2rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-md-4 {
    font-size: clamp(4.2rem, 5.8449074074vw, 10.1rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-md-5 {
    font-size: clamp(3.6rem, 4.5138888889vw, 7.8rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-md-6 {
    font-size: clamp(3.2rem, 3.4722222222vw, 6rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-md-7 {
    font-size: clamp(2.7rem, 2.662037037vw, 4.6rem);
    line-height: 0.86;
    letter-spacing: -0.03em;
  }
  .h-md-8 {
    font-size: clamp(2.4rem, 2.0833333333vw, 3.6rem);
    line-height: 0.86;
    letter-spacing: 0;
  }
  .h-md-9 {
    font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
    line-height: 0.86;
    letter-spacing: -0.02em;
  }
  .h-md-10 {
    font-size: clamp(1.9rem, 1.3310185185vw, 2.3rem);
    line-height: 0.86;
    letter-spacing: -0.02em;
  }
}
@media (min-width: 992px) {
  .h-lg-1 {
    font-size: clamp(6.4rem, 12.8472222222vw, 22.2rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-lg-2 {
    font-size: clamp(5.6rem, 9.8958333333vw, 17.1rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-lg-3 {
    font-size: clamp(4.8rem, 7.6388888889vw, 13.2rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-lg-4 {
    font-size: clamp(4.2rem, 5.8449074074vw, 10.1rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-lg-5 {
    font-size: clamp(3.6rem, 4.5138888889vw, 7.8rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-lg-6 {
    font-size: clamp(3.2rem, 3.4722222222vw, 6rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-lg-7 {
    font-size: clamp(2.7rem, 2.662037037vw, 4.6rem);
    line-height: 0.86;
    letter-spacing: -0.03em;
  }
  .h-lg-8 {
    font-size: clamp(2.4rem, 2.0833333333vw, 3.6rem);
    line-height: 0.86;
    letter-spacing: 0;
  }
  .h-lg-9 {
    font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
    line-height: 0.86;
    letter-spacing: -0.02em;
  }
  .h-lg-10 {
    font-size: clamp(1.9rem, 1.3310185185vw, 2.3rem);
    line-height: 0.86;
    letter-spacing: -0.02em;
  }
}
@media (min-width: 1270px) {
  .h-xl-1 {
    font-size: clamp(6.4rem, 12.8472222222vw, 22.2rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-xl-2 {
    font-size: clamp(5.6rem, 9.8958333333vw, 17.1rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-xl-3 {
    font-size: clamp(4.8rem, 7.6388888889vw, 13.2rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-xl-4 {
    font-size: clamp(4.2rem, 5.8449074074vw, 10.1rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-xl-5 {
    font-size: clamp(3.6rem, 4.5138888889vw, 7.8rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-xl-6 {
    font-size: clamp(3.2rem, 3.4722222222vw, 6rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-xl-7 {
    font-size: clamp(2.7rem, 2.662037037vw, 4.6rem);
    line-height: 0.86;
    letter-spacing: -0.03em;
  }
  .h-xl-8 {
    font-size: clamp(2.4rem, 2.0833333333vw, 3.6rem);
    line-height: 0.86;
    letter-spacing: 0;
  }
  .h-xl-9 {
    font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
    line-height: 0.86;
    letter-spacing: -0.02em;
  }
  .h-xl-10 {
    font-size: clamp(1.9rem, 1.3310185185vw, 2.3rem);
    line-height: 0.86;
    letter-spacing: -0.02em;
  }
}
@media (min-width: 1400px) {
  .h-xxl-1 {
    font-size: clamp(6.4rem, 12.8472222222vw, 22.2rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-xxl-2 {
    font-size: clamp(5.6rem, 9.8958333333vw, 17.1rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-xxl-3 {
    font-size: clamp(4.8rem, 7.6388888889vw, 13.2rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-xxl-4 {
    font-size: clamp(4.2rem, 5.8449074074vw, 10.1rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-xxl-5 {
    font-size: clamp(3.6rem, 4.5138888889vw, 7.8rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-xxl-6 {
    font-size: clamp(3.2rem, 3.4722222222vw, 6rem);
    line-height: 0.86;
    letter-spacing: -0.04em;
  }
  .h-xxl-7 {
    font-size: clamp(2.7rem, 2.662037037vw, 4.6rem);
    line-height: 0.86;
    letter-spacing: -0.03em;
  }
  .h-xxl-8 {
    font-size: clamp(2.4rem, 2.0833333333vw, 3.6rem);
    line-height: 0.86;
    letter-spacing: 0;
  }
  .h-xxl-9 {
    font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
    line-height: 0.86;
    letter-spacing: -0.02em;
  }
  .h-xxl-10 {
    font-size: clamp(1.9rem, 1.3310185185vw, 2.3rem);
    line-height: 0.86;
    letter-spacing: -0.02em;
  }
}
.fs-6 {
  font-size: 2.3rem;
  font-weight: 300;
}

.fs-7 {
  font-size: 1.8rem;
  font-weight: 400;
}

.fs-8 {
  font-size: 1.4rem;
  font-weight: 400;
}

@media (min-width: 576px) {
  .fs-sm-6 {
    font-size: 2.3rem;
    font-weight: 300;
  }
  .fs-sm-7 {
    font-size: 1.8rem;
    font-weight: 400;
  }
  .fs-sm-8 {
    font-size: 1.4rem;
    font-weight: 400;
  }
}
@media (min-width: 768px) {
  .fs-md-6 {
    font-size: 2.3rem;
    font-weight: 300;
  }
  .fs-md-7 {
    font-size: 1.8rem;
    font-weight: 400;
  }
  .fs-md-8 {
    font-size: 1.4rem;
    font-weight: 400;
  }
}
@media (min-width: 992px) {
  .fs-lg-6 {
    font-size: 2.3rem;
    font-weight: 300;
  }
  .fs-lg-7 {
    font-size: 1.8rem;
    font-weight: 400;
  }
  .fs-lg-8 {
    font-size: 1.4rem;
    font-weight: 400;
  }
}
@media (min-width: 1270px) {
  .fs-xl-6 {
    font-size: 2.3rem;
    font-weight: 300;
  }
  .fs-xl-7 {
    font-size: 1.8rem;
    font-weight: 400;
  }
  .fs-xl-8 {
    font-size: 1.4rem;
    font-weight: 400;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-6 {
    font-size: 2.3rem;
    font-weight: 300;
  }
  .fs-xxl-7 {
    font-size: 1.8rem;
    font-weight: 400;
  }
  .fs-xxl-8 {
    font-size: 1.4rem;
    font-weight: 400;
  }
}
[class*=h-],
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.h7,
.h8,
.h9,
.h10 {
  font-family: var(--fonty);
}

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

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0;
  margin: -1px !important;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

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

.text-end {
  text-align: right;
}

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

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

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

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

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-weight: inherit;
  text-transform: inherit;
  text-align: inherit;
  text-decoration: inherit;
  text-shadow: inherit;
  text-overflow: inherit;
  text-wrap: inherit;
  text-overflow: inherit;
}

section[id] {
  scroll-margin-top: calc(var(--header-h, 11.6rem) + 4rem);
}

.sep1 {
  height: clamp(8rem, 11.57vw, 20rem);
}

.sep2 {
  height: clamp(5rem, 7.41vw, 12.8rem);
}

.sep3 {
  height: clamp(3.2rem, 4.63vw, 8rem);
}

:root {
  --px: clamp(2rem, 2.546vw, 4.4rem);
  --gx: 2.4rem;
  --gy: 0rem;
  --container: 164rem;
}

.container-fluid,
.container {
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--px);
  position: relative;
}

.container {
  max-width: calc(var(--container) + var(--px) * 2);
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-inline: calc(var(--gx) * -0.5);
  row-gap: var(--gy);
}
.row > * {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-inline: calc(var(--gx) * 0.5);
}

.col {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0%;
          flex: 1 0 0%;
}

.col-auto {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
}

.col-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 8.3333333333%;
}

.col-2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 16.6666666667%;
}

.col-3 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 33.3333333333%;
}

.col-5 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 41.6666666667%;
}

.col-6 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 58.3333333333%;
}

.col-8 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 66.6666666667%;
}

.col-9 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 83.3333333333%;
}

.col-11 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 91.6666666667%;
}

.col-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.3333333333%;
}

.offset-2 {
  margin-left: 16.6666666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.3333333333%;
}

.offset-5 {
  margin-left: 41.6666666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.3333333333%;
}

.offset-8 {
  margin-left: 66.6666666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.3333333333%;
}

.offset-11 {
  margin-left: 91.6666666667%;
}

@media (min-width: 576px) {
  .col-sm {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .col-sm-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-sm-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-sm-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-sm-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-sm-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-sm-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-sm-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-sm-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-sm-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }
  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }
  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }
  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }
  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 768px) {
  .col-md {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .col-md-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-md-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-md-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-md-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-md-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-md-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-md-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-md-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-md-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.3333333333%;
  }
  .offset-md-2 {
    margin-left: 16.6666666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.3333333333%;
  }
  .offset-md-5 {
    margin-left: 41.6666666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.3333333333%;
  }
  .offset-md-8 {
    margin-left: 66.6666666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.3333333333%;
  }
  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 992px) {
  .col-lg {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .col-lg-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-lg-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-lg-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-lg-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-lg-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-lg-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-lg-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-lg-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-lg-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }
  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }
  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }
  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }
  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 1270px) {
  .col-xl {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .col-xl-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-xl-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-xl-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-xl-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-xl-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-xl-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-xl-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-xl-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-xl-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.3333333333%;
  }
  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }
  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }
  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }
  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .col-xxl-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .col-xxl-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .col-xxl-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .col-xxl-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .col-xxl-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .col-xxl-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .col-xxl-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .col-xxl-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .col-xxl-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.3333333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.6666666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.3333333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.6666666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.3333333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.6666666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.3333333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.6666666667%;
  }
}
.d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.flex-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.align-items-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.align-items-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.justify-content-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.justify-content-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.justify-content-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
}

.site-header__topbar {
  height: 3.2rem;
  background: var(--negro);
}

.site-header__bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 3.2rem;
  padding: 1.2rem var(--px);
  background: var(--fondo);
  -webkit-transition: -webkit-box-shadow 0.3s ease;
  transition: -webkit-box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease;
}
@media (max-width: 1269.98px) {
  .site-header__bar {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.site-header__brand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(1.6rem, 1.85vw, 3.2rem);
  text-decoration: none;
  min-width: 0;
}

.site-header__logo {
  width: clamp(5.6rem, 4.07vw, 7rem);
  height: auto;
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.site-header__wordmark {
  width: clamp(22rem, 18vw, 41.8rem);
  height: auto;
  display: block;
}

.site-header__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(2.4rem, 2.78vw, 4.8rem);
}

.site-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(1.6rem, 2vw, 3.2rem);
}

.site-nav__link {
  font-family: var(--fonty);
  font-size: clamp(1.9rem, 1.3310185185vw, 2.3rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.site-nav__link:hover {
  opacity: 0.55;
}

.site-nav__link--icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
}
.site-nav__link--icon i {
  font-size: 0.7em;
}

.btn-cta {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2rem 2.4rem;
  background: var(--fondo);
  text-decoration: none;
  white-space: nowrap;
  border: 0;
  cursor: pointer;
}
.btn-cta .btn-cta__label {
  font-family: var(--fonty);
  font-size: clamp(2.4rem, 2.0833333333vw, 3.6rem);
  line-height: 0.86;
  letter-spacing: 0;
  font-weight: 400;
  font-size: clamp(2.4rem, 3vw, 4.4rem);
  position: relative;
  z-index: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}
.btn-cta .btn-cta__border {
  position: absolute;
  inset: -0.2rem -0.2rem -0.3rem -0.2rem;
  width: calc(100% + 0.4rem);
  height: calc(100% + 0.5rem);
  max-width: none;
  pointer-events: none;
}
.btn-cta {
  -webkit-transition: -webkit-transform 0.15s ease;
  transition: -webkit-transform 0.15s ease;
  transition: transform 0.15s ease;
  transition: transform 0.15s ease, -webkit-transform 0.15s ease;
}
.btn-cta:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

.site-header__toggle {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.6rem;
  width: 4.4rem;
  height: 4.4rem;
  padding: 0.8rem;
  background: none;
  border: 0;
  cursor: pointer;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.site-header__toggle span {
  display: block;
  height: 0.2rem;
  background: var(--texto);
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.25s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.25s ease;
  transition: transform 0.25s ease, opacity 0.2s ease;
  transition: transform 0.25s ease, opacity 0.2s ease, -webkit-transform 0.25s ease;
}

@media (max-width: 1269.98px) {
  .site-header__wordmark {
    display: none;
  }
  .site-header__toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .site-nav {
    position: fixed;
    border-left: 1px solid;
    top: var(--header-h, 11.6rem);
    right: 0;
    bottom: 0;
    width: 45%;
    height: calc(100svh - var(--header-h, 11.6rem));
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 3.2rem;
    padding: 4rem;
    background: var(--fondo);
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    visibility: hidden;
    -webkit-transition: visibility 0s linear 0.35s, -webkit-transform 0.35s ease;
    transition: visibility 0s linear 0.35s, -webkit-transform 0.35s ease;
    transition: transform 0.35s ease, visibility 0s linear 0.35s;
    transition: transform 0.35s ease, visibility 0s linear 0.35s, -webkit-transform 0.35s ease;
  }
  .site-nav .site-nav__link {
    font-size: clamp(3.2rem, 3.4722222222vw, 6rem);
  }
}
@media (max-width: 767.98px) {
  .site-nav {
    width: 100%;
    text-align: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .site-nav__link {
    font-size: clamp(3.6rem, 4.5138888889vw, 7.8rem);
  }
}
.site-header.is-open .site-nav {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  visibility: visible;
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
}
.site-header.is-open .site-header__toggle span:nth-child(1) {
  -webkit-transform: translateY(0.8rem) rotate(45deg);
          transform: translateY(0.8rem) rotate(45deg);
}
.site-header.is-open .site-header__toggle span:nth-child(2) {
  opacity: 0;
}
.site-header.is-open .site-header__toggle span:nth-child(3) {
  -webkit-transform: translateY(-0.8rem) rotate(-45deg);
          transform: translateY(-0.8rem) rotate(-45deg);
}

:root {
  --radius-card: 0.8rem;
  --dot: 6rem;
  --line: 1.6rem;
}

.prose-narrow {
  max-width: 68rem;
  margin-inline: auto;
}
.prose-narrow p + p {
  margin-top: 1.5em;
}

.ph-img {
  display: block;
  width: 100%;
  background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.04) 0 12px, rgba(0, 0, 0, 0.07) 12px 24px);
  border-radius: var(--radius-card);
  overflow: hidden;
}
.ph-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.btn-outline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding: 1.2rem 1.8rem;
  border: 1px solid var(--borde);
  border-radius: var(--radius-card);
  background: var(--fondo);
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease, -webkit-transform 0.15s ease;
  transition: background-color 0.2s ease, -webkit-transform 0.15s ease;
  transition: background-color 0.2s ease, transform 0.15s ease;
  transition: background-color 0.2s ease, transform 0.15s ease, -webkit-transform 0.15s ease;
}
.btn-outline .btn-outline__label {
  font-family: var(--fonty);
  font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
}
.btn-outline svg,
.btn-outline img {
  width: 1.8rem;
  height: 1.8rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.btn-outline:hover {
  background: rgba(0, 0, 0, 0.06);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

.btn-outline--solid {
  background: var(--negro);
  border-color: var(--negro);
  color: var(--blanco);
}
.btn-outline--solid:hover {
  background: #1a1a1a;
}

.hero__title {
  font-family: var(--fonty);
  font-size: clamp(3.6rem, 4.5138888889vw, 7.8rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 2.4rem;
}

.hero__body {
  max-width: 70ch;
}
@media (max-width: 1269.98px) {
  .hero__body {
    margin-bottom: 4rem;
  }
}
.hero__body p {
  margin-bottom: 1.5em;
}
.hero__body p:last-child {
  margin-bottom: 0;
}

.hero__media {
  position: relative;
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(8, 1fr);
  gap: var(--gx);
  aspect-ratio: 1.2;
}

.hero__photo {
  border-radius: var(--radius-card);
  -webkit-box-shadow: 0 3rem 2rem -1.5rem rgba(0, 0, 0, 0.14);
          box-shadow: 0 3rem 2rem -1.5rem rgba(0, 0, 0, 0.14);
  position: relative;
}

.hero__photo img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  -o-object-position: center !important;
     object-position: center !important;
}

.hero__photo--1 {
  grid-area: 2/1/7/6;
  rotate: -2deg;
}

.hero__photo--2 {
  grid-area: 1/6/5/11;
  rotate: 1.5deg;
}

.hero__photo--3 {
  grid-area: 5/6/9/13;
  rotate: 3deg;
}

.cta-obra__media {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(8, 1fr);
  gap: var(--gx);
  aspect-ratio: 1.2;
}

.cta-obra__photo {
  border-radius: var(--radius-card);
  -webkit-box-shadow: 0 3rem 2rem -1.5rem rgba(0, 0, 0, 0.14);
          box-shadow: 0 3rem 2rem -1.5rem rgba(0, 0, 0, 0.14);
}

.cta-obra__photo--1 {
  grid-area: 3/2/8/7;
  rotate: -1.5deg;
}

.cta-obra__photo--2 {
  grid-area: 1/7/7/12;
  rotate: 1deg;
}

.cta-obra__title {
  font-family: var(--fonty);
  font-size: clamp(3.6rem, 4.5138888889vw, 7.8rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 2.4rem;
}

.cta-obra__body {
  max-width: 44rem;
}
.cta-obra__body p {
  margin-bottom: 1.5em;
}

.cta-obra__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 3.2rem;
}

@media (max-width: 1269.98px) {
  #te-gustaria {
    margin-top: 6rem;
  }
  #te-gustaria > .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 4rem;
  }
}
.lineas {
  border-block: 1px dashed var(--borde);
}

.lineas__words {
  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.5em;
  font-family: var(--fonty);
  font-size: clamp(3.6rem, 4.5138888889vw, 7.8rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
}

.lineas__word {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: var(--fonty);
  text-align: left;
  cursor: pointer;
  text-transform: uppercase;
  line-height: 0.9;
  color: rgba(0, 0, 0, 0.22);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
  position: relative;
}
.lineas__word::after {
  content: "";
  position: absolute;
  bottom: calc(var(--line) / -2);
  left: -1rem;
  width: calc(100% + 2rem);
  height: var(--line);
  rotate: -1deg;
  -webkit-transform-origin: right center;
          transform-origin: right center;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transition: -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  background: var(--amarillo);
  z-index: -1;
}
.lineas__word:nth-child(2)::after {
  rotate: 1deg;
  background: var(--verde);
}
.lineas__word:nth-child(3)::after {
  rotate: -0.5deg;
  background: var(--rojo);
}
.lineas__word:hover:not(.is-active) {
  color: rgba(0, 0, 0, 0.45);
}
.lineas__word:focus-visible {
  outline: 2px solid var(--texto);
  outline-offset: 0.4rem;
}

.lineas__word.is-active {
  color: var(--texto);
}
.lineas__word.is-active::after {
  -webkit-transition-duration: 0.6s;
          transition-duration: 0.6s;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

.lineas__panel {
  display: none;
}
.lineas__panel.is-active {
  display: block;
  -webkit-animation: lineas-fade 0.35s ease both;
          animation: lineas-fade 0.35s ease both;
}
.lineas__panel p {
  margin-bottom: 1.5em;
}
.lineas__panel p:last-child {
  margin-bottom: 0;
}

@-webkit-keyframes lineas-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes lineas-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lineas__panel.is-active {
    -webkit-animation: none;
            animation: none;
  }
}
@media (max-width: 1269.98px) {
  .lineas .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-inline: 0;
  }
  .lineas .col-0.col-lg-1 {
    display: none;
  }
  .lineas .row > .col-12.col-lg-5,
  .lineas__words,
  .lineas__panels {
    display: contents;
  }
  #tab-incluirnos {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  #panel-incluirnos {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #tab-inspirarnos {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  #panel-inspirarnos {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  #tab-innovarnos {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  #panel-innovarnos {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  .lineas__word {
    cursor: default;
    color: var(--texto) !important;
    margin-top: 3rem;
    margin-bottom: 4rem;
  }
  .lineas__word::after {
    -webkit-transform: scaleX(1) !important;
            transform: scaleX(1) !important;
  }
  .lineas__panel {
    display: block !important;
    margin-bottom: 3.6rem;
  }
  .lineas__panel:last-child {
    margin-bottom: 0;
  }
}
.como-postular {
  text-align: center;
}

.como-postular__eyebrow {
  font-family: var(--fonty);
  font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
  text-transform: uppercase;
  margin-bottom: 1.6rem;
}

.como-postular__title {
  font-family: var(--fonty);
  font-size: clamp(4.2rem, 5.8449074074vw, 10.1rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 2.4rem;
}

.como-postular__lead {
  margin-bottom: 2.4rem;
}

.steps {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2em;
  margin-block: 3.2rem;
  font-family: var(--fonty);
  font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
}

.step {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
  padding: 0.8em 1em;
  border: 1px dashed var(--borde);
  border-radius: var(--radius-card);
  background: color-mix(in srgb, var(--fondo) 50%, transparent);
  backdrop-filter: blur(2rem);
}

.step:nth-child(1) {
  rotate: -1.2deg;
}

.step:nth-child(2) {
  rotate: 1deg;
}

.step:nth-child(3) {
  rotate: -0.7deg;
}

.step__num {
  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;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background: var(--negro);
  color: var(--blanco);
  font-family: var(--fonty);
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.step__label {
  white-space: nowrap;
}

.como-postular__flow {
  max-width: 62rem;
  margin-inline: auto;
}
.como-postular__flow p {
  margin-bottom: 1.5em;
}
.como-postular__flow p:last-child {
  margin-bottom: 0;
}

.people-grid {
  display: grid;
  text-align: center;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gx) calc(var(--gx) * 0.6);
}
@media (min-width: 576px) {
  .people-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) {
  .people-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 992px) {
  .people-grid {
    grid-template-columns: repeat(7, 1fr);
  }
}

.person {
  background: color-mix(in srgb, var(--fondo) 50%, transparent);
  backdrop-filter: blur(2rem);
  border: 1px solid color-mix(currentColor, transparent 90%);
  padding: 0;
  border-radius: var(--radius);
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.person__photo {
  display: block;
  width: 100%;
}

.person__content {
  padding: 1rem;
  padding-bottom: 1.5rem;
}

.person__name {
  font-family: var(--fonty);
  font-size: clamp(1.9rem, 1.3310185185vw, 2.3rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
}

.person__role {
  font-size: 1.4rem;
  color: rgba(0, 0, 0, 0.6);
  margin-top: 0.5em;
}

.person--empty .person__photo {
  background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.05) 0 10px, rgba(0, 0, 0, 0.09) 10px 20px);
}

.timeline__title {
  font-family: var(--fonty);
  font-size: clamp(4.8rem, 7.6388888889vw, 13.2rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  text-transform: uppercase;
}

.timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}

.timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: var(--dot) 1fr;
  gap: 2.4rem;
  padding-bottom: clamp(6rem, 7vw, 9rem);
}
.timeline__item:last-child {
  padding-bottom: 0;
}

.timeline__item::before {
  content: "";
  position: absolute;
  left: calc(var(--dot) / 2 - var(--line) / 2);
  top: calc(var(--dot) - 1rem);
  bottom: -1rem;
  width: var(--line);
  background: var(--seg, var(--gris));
}

.timeline__item:last-child::before {
  display: none;
}

.timeline__item--future::before {
  background: repeating-linear-gradient(var(--seg, var(--gris)) 0 1.6rem, transparent 1.6rem 3rem);
}

.timeline__dot {
  width: var(--dot);
  height: var(--dot);
  border: 0.8rem solid var(--negro);
  border-radius: 50%;
  background: white;
  z-index: 1;
}

.timeline__content {
  padding-top: 0.2rem;
}

.timeline__date {
  font-family: var(--fonty);
  font-size: clamp(2.4rem, 2.0833333333vw, 3.6rem);
  line-height: 0.86;
  letter-spacing: 0;
  font-weight: 400;
  margin-bottom: 0.4rem;
}

.timeline__label {
  font-family: var(--fonty);
  font-size: clamp(3.2rem, 3.4722222222vw, 6rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1;
}

.timeline__item--muted .timeline__label {
  color: rgba(0, 0, 0, 0.45);
}

@media (max-width: 991.98px) {
  .timeline__title {
    margin-bottom: 4rem;
  }
}
#faq {
  background: var(--fondo);
}

.faq {
  max-width: 72rem;
  margin-inline: auto;
}

.faq__title {
  font-family: var(--fonty);
  font-size: clamp(3.2rem, 3.4722222222vw, 6rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 3.2rem;
}

.faq__item {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}
.faq__item:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.faq__q {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2rem;
  padding: 2rem 0;
  cursor: pointer;
  list-style: none;
  font-family: var(--fonty);
  font-size: clamp(1.9rem, 1.3310185185vw, 2.3rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
  line-height: inherit;
  font-weight: 500;
}
.faq__q::-webkit-details-marker {
  display: none;
}
.faq__q::marker {
  content: "";
}

.faq__icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: 1.4rem;
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}

.faq__item[open] .faq__icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.faq__a {
  padding: 0 0 2.4rem;
  max-width: 60rem;
  overflow: hidden;
}
.faq__a p {
  margin-bottom: 1em;
}
.faq__a p:last-child {
  margin-bottom: 0;
}

.faq__more {
  overflow: hidden;
}
.faq__more .faq__item:last-child {
  border-bottom: 0;
}

.faq__toggle {
  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;
  gap: 2rem;
  width: 100%;
  padding: 2rem 0;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  background: none;
  color: inherit;
  text-align: left;
  cursor: pointer;
  font-family: var(--fonty);
  font-size: clamp(1.9rem, 1.3310185185vw, 2.3rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
  line-height: inherit;
  font-weight: 500;
  text-transform: uppercase;
}
.faq__toggle[aria-expanded=true] .faq__icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.section-head {
  text-align: center;
  margin-bottom: clamp(3.2rem, 5vw, 6rem);
}

.section-head__title {
  font-family: var(--fonty);
  font-size: clamp(3.6rem, 4.5138888889vw, 7.8rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  text-transform: uppercase;
}

.section-head--start {
  text-align: left;
}

.bg-curve-section {
  position: relative;
}

.bg-curve-wrap {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 40svw;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
  padding: 3rem;
}

.bg-curve-wrap--left {
  left: 0;
  padding-left: 0;
}

.bg-curve-wrap--right {
  right: 0;
  padding-right: 0;
}

.bg-curve {
  width: 100%;
  height: auto;
  position: relative;
  overflow: visible;
}
.bg-curve path {
  fill: none;
  stroke: currentColor;
  stroke-width: var(--line);
  vector-effect: non-scaling-stroke;
  stroke-miterlimit: 10;
  stroke-linecap: butt;
  stroke-linejoin: miter;
}

.bg-curve-wrap--left .bg-curve {
  left: -24svw;
}

.bg-curve-wrap--right .bg-curve {
  right: -24svw;
}

.bg-curve--celeste {
  color: var(--celeste);
}

.bg-curve--amarillo {
  color: var(--amarillo);
}

.bg-curve--verde {
  color: var(--verde);
}

.bg-curve--morado {
  color: var(--morado);
}

.bg-curve--rojo {
  color: var(--rojo);
}

@media (max-width: 991.98px) {
  .bg-curve-wrap--left .bg-curve {
    left: -5svw;
  }
  .bg-curve-wrap--right .bg-curve {
    right: -5svw;
  }
  #fechas .bg-curve-wrap {
    display: none !important;
  }
}
.footer-marquee {
  overflow: hidden;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.footer-marquee__track {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  -webkit-animation: marquee 24s linear infinite;
          animation: marquee 24s linear infinite;
  will-change: transform;
}

.footer-marquee__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: none;
  height: clamp(6.2rem, 7vw, 11rem);
  width: auto;
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  .footer-marquee__track {
    -webkit-animation: none;
            animation: none;
  }
}
.marquee {
  overflow: hidden;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.marquee__track {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(2.4rem, 3.47vw, 6rem);
  padding-right: clamp(2.4rem, 3.47vw, 6rem);
  -webkit-animation: marquee 24s linear infinite;
          animation: marquee 24s linear infinite;
  will-change: transform;
}

.marquee__item {
  font-family: var(--fonty);
  font-size: clamp(5.6rem, 9.8958333333vw, 17.1rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  text-transform: uppercase;
}

.marquee__dash {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: clamp(8rem, 12vw, 20.8rem);
  height: var(--line);
  background: var(--morado);
  rotate: -1deg;
}

.marquee__dash.b {
  background: var(--amarillo);
  rotate: 1deg;
}

.marquee__dash.c {
  background: var(--celeste);
  rotate: -0.5deg;
}

@-webkit-keyframes marquee {
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes marquee {
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .marquee__track {
    -webkit-animation: none;
            animation: none;
  }
}
.postula__inner {
  max-width: 80.8rem;
  margin-inline: auto;
}

.postula h3.postula__heading,
.postula__heading {
  font-family: var(--fonty);
  font-size: clamp(2.7rem, 2.662037037vw, 4.6rem);
  line-height: 0.86;
  letter-spacing: -0.03em;
  font-weight: 500;
  margin-bottom: 2.4rem;
}

.postula__subheading {
  font-family: var(--fonty);
  font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
  padding-top: 3.6rem;
  margin-bottom: 2.4rem;
}

.postula__intro {
  margin-bottom: 2.4rem;
}

.postula__checklist {
  margin: 2.4rem 0;
  padding-left: 1.8rem;
}
.postula__checklist li {
  margin-bottom: 0.6rem;
}
.postula__checklist li:last-child {
  margin-bottom: 0;
}

.doc-chips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.2rem;
}

.doc-chip {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding: 1.2rem 1.5rem;
  border: 1px solid var(--borde);
  border-radius: var(--radius);
  text-decoration: none;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.doc-chip .doc-chip__label {
  font-family: var(--fonty);
  font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
}
.doc-chip svg,
.doc-chip img {
  width: 2.3rem;
  height: 2rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.doc-chip:hover {
  background: rgba(0, 0, 0, 0.07);
}

.form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.4rem;
}

#bloque-colectivo > * + * {
  margin-top: 2.4rem;
}

.form__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--gx);
}
.form__row > * {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}
@media (max-width: 767.98px) {
  .form__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.form__row--ubicacion:not(:has(#f-pais option[value=Chile]:checked)) .field--region,
.form__row--ubicacion:not(:has(#f-pais option[value=Chile]:checked)) .field--comuna {
  display: none;
}

.field {
  position: relative;
  width: 100%;
}

.field__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.field__label--visible {
  position: static;
  width: auto;
  height: auto;
  clip: auto;
  overflow: visible;
  white-space: normal;
  display: block;
  margin-bottom: 1.2rem;
}

.field--select select, .field__input {
  width: 100%;
  padding: 1.2rem 1.5rem;
  font-family: var(--font-base);
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--texto);
  background: transparent;
  border: 1px solid var(--borde);
  border-radius: var(--radius);
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-transition: -webkit-box-shadow 0.15s ease;
  transition: -webkit-box-shadow 0.15s ease;
  transition: box-shadow 0.15s ease;
  transition: box-shadow 0.15s ease, -webkit-box-shadow 0.15s ease;
}
.field--select select::-webkit-input-placeholder, .field__input::-webkit-input-placeholder {
  color: var(--texto);
  opacity: 1;
}
.field--select select::-moz-placeholder, .field__input::-moz-placeholder {
  color: var(--texto);
  opacity: 1;
}
.field--select select:-ms-input-placeholder, .field__input:-ms-input-placeholder {
  color: var(--texto);
  opacity: 1;
}
.field--select select::-ms-input-placeholder, .field__input::-ms-input-placeholder {
  color: var(--texto);
  opacity: 1;
}
.field--select select::placeholder, .field__input::placeholder {
  color: var(--texto);
  opacity: 1;
}
.field--select select:focus-visible, .field__input:focus-visible {
  -webkit-box-shadow: 0 0 0 1px var(--borde);
          box-shadow: 0 0 0 1px var(--borde);
}
.field--select select[aria-invalid=true], [aria-invalid=true].field__input {
  border-color: var(--rojo);
  -webkit-box-shadow: 0 0 0 1px var(--rojo);
          box-shadow: 0 0 0 1px var(--rojo);
}

textarea.field__input {
  min-height: 12.2rem;
  resize: vertical;
}
textarea.field__input::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.25);
}
textarea.field__input::-moz-placeholder {
  color: rgba(0, 0, 0, 0.25);
}
textarea.field__input:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.25);
}
textarea.field__input::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.25);
}
textarea.field__input::placeholder {
  color: rgba(0, 0, 0, 0.25);
}

.field--select select {
  padding-right: 4.4rem;
  cursor: pointer;
}
.field--select::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 1.8rem;
  height: 1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("../assets/svg/icon_chevron.svg") no-repeat center/contain;
  pointer-events: none;
}

.field__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 3.2rem;
  margin-bottom: 1.2rem;
}
.field__head .field__head-label {
  font-size: 1.8rem;
}
.field__head .field__count {
  font-size: 1.4rem;
}

.field__head--start {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.field__hint {
  font-size: 1.5rem;
  line-height: 1.5;
  color: var(--texto);
  opacity: 0.65;
  margin: -0.6rem 0 1.2rem;
}

.doc-chip--sm {
  padding: 1rem 1.2rem;
}
.doc-chip--sm .doc-chip__label {
  font-family: var(--fonty);
  font-size: clamp(1.9rem, 1.3310185185vw, 2.3rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
}
.doc-chip--sm svg,
.doc-chip--sm img {
  width: 1.8rem;
  height: 1.6rem;
}

.field--file .field__filewrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid var(--borde);
  border-radius: var(--radius);
  overflow: hidden;
  cursor: pointer;
}
.field--file .field__filebtn {
  padding: 1.2rem 3rem;
  background: rgba(0, 0, 0, 0.07);
  border-right: 1px solid var(--borde);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.field--file .field__filename {
  padding: 1.2rem 1.5rem;
  color: rgba(0, 0, 0, 0.45);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.field--file.has-file .field__filename {
  color: var(--texto);
}
.field--file input[type=file] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.field--file input[type=file]:focus-visible ~ .field__filewrap {
  -webkit-box-shadow: 0 0 0 1px var(--borde);
          box-shadow: 0 0 0 1px var(--borde);
}

.field--agree {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem;
  padding-block: 1.2rem;
  cursor: pointer;
}
.field--agree input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 1.9rem;
  height: 1.9rem;
  margin: 0.4rem 0 0;
  background: rgba(0, 0, 0, 0.07);
  border: 1px solid var(--borde);
  border-radius: var(--radius);
  cursor: pointer;
  display: grid;
  place-content: center;
}
.field--agree input[type=checkbox]::before {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: -webkit-transform 0.12s ease;
  transition: -webkit-transform 0.12s ease;
  transition: transform 0.12s ease;
  transition: transform 0.12s ease, -webkit-transform 0.12s ease;
  background: var(--texto);
  border-radius: 0.2rem;
}
.field--agree input[type=checkbox]:checked::before {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.field--agree input[type=checkbox]:focus-visible {
  -webkit-box-shadow: 0 0 0 1px var(--borde);
          box-shadow: 0 0 0 1px var(--borde);
}
.field--agree a {
  text-decoration: underline;
}

.field--radio-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.4rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.field--radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  cursor: pointer;
}
.field--radio input[type=radio] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 1.9rem;
  height: 1.9rem;
  margin: 0;
  background: rgba(0, 0, 0, 0.07);
  border: 1px solid var(--borde);
  border-radius: 50%;
  cursor: pointer;
  display: grid;
  place-content: center;
}
.field--radio input[type=radio]::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: -webkit-transform 0.12s ease;
  transition: -webkit-transform 0.12s ease;
  transition: transform 0.12s ease;
  transition: transform 0.12s ease, -webkit-transform 0.12s ease;
  background: var(--texto);
}
.field--radio input[type=radio]:checked::before {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.field--radio input[type=radio]:focus-visible {
  -webkit-box-shadow: 0 0 0 1px var(--borde);
          box-shadow: 0 0 0 1px var(--borde);
}
.field--radio span {
  font-family: var(--fonty);
  font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
}

.form__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-top: 3.6rem;
}

.btn-submit {
  font-family: var(--fonty);
  font-size: clamp(2.4rem, 2.0833333333vw, 3.6rem);
  line-height: 0.86;
  letter-spacing: 0;
  font-weight: 400;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.6rem 2rem;
  color: var(--blanco);
  background: var(--negro);
  border: 0;
  border-radius: var(--radius);
  cursor: pointer;
  -webkit-transition: opacity 0.15s ease, -webkit-transform 0.15s ease;
  transition: opacity 0.15s ease, -webkit-transform 0.15s ease;
  transition: transform 0.15s ease, opacity 0.15s ease;
  transition: transform 0.15s ease, opacity 0.15s ease, -webkit-transform 0.15s ease;
}
.btn-submit:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
.btn-submit[disabled] {
  opacity: 0.5;
  pointer-events: none;
}

.hp-field {
  position: absolute !important;
  left: -600rem;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.form__status {
  font-size: 1.8rem;
}
.form__status.is-error {
  color: var(--rojo);
}
.form__status.is-ok {
  color: var(--verde);
}

.field__error {
  display: none;
  margin-top: 0.6rem;
  font-size: 1.4rem;
  color: var(--rojo);
}

.field.has-error .field__error {
  display: block;
}

.alianza-org {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(3.2rem, 5vw, 6rem);
  max-width: 84rem;
  margin-inline: auto;
}

.alianza-org__item p + p {
  margin-top: 1.5em;
}

.alianza-org__eyebrow {
  font-family: var(--fonty);
  font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.5);
  margin-bottom: 0.8em;
}

.alianza-org__quote {
  font-family: var(--fonty);
  font-size: clamp(2.4rem, 2.0833333333vw, 3.6rem);
  line-height: 0.86;
  letter-spacing: 0;
  font-weight: 400;
  border-left: 0.3rem solid var(--borde);
  padding-left: 1.6rem;
  margin-block: 1.2em;
}

.alianza-org__cite {
  display: block;
  font-size: 2.1rem;
  color: rgba(0, 0, 0, 0.6);
  margin-top: 0.8em;
  font-style: normal;
}

.testimonial-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gx);
}
@media (min-width: 576px) {
  .testimonial-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .testimonial-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.testimonial-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  padding: 3.4rem;
  border: 1px solid var(--borde);
  border-top: 0.3rem solid var(--seg, var(--borde));
  border-radius: var(--radius-card);
  background: color-mix(in srgb, var(--fondo) 50%, transparent);
  backdrop-filter: blur(2rem);
  margin: 0;
}

.testimonial-card__mark {
  font-family: var(--fonty);
  font-size: clamp(4.8rem, 7.6388888889vw, 13.2rem);
  line-height: 0.86;
  letter-spacing: -0.04em;
  font-weight: 500;
  font-size: 15em;
  line-height: 1;
  color: var(--seg, var(--borde));
  position: absolute;
  top: -5rem;
  left: -1rem;
  z-index: -1;
  opacity: 0.1;
}

.testimonial-card__quote {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  line-height: 1.4;
  font-size: 2.1rem;
  font-style: italic;
  font-weight: 300;
}

.testimonial-card__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.2em;
  padding-top: 2rem;
  border-top: 1px dashed rgba(0, 0, 0, 0.25);
}

.testimonial-card__banco {
  font-family: var(--fonty);
  font-size: clamp(1.9rem, 1.3310185185vw, 2.3rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
  text-transform: uppercase;
  font-style: normal;
}

.testimonial-card__persona {
  font-size: 1.6rem;
  margin-top: 0.3rem;
  color: rgba(0, 0, 0, 0.6);
}

.aliado-chips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.2rem;
}

.aliado-chip {
  padding: 1.2rem 2rem;
  border: 1px solid var(--borde);
  border-radius: var(--radius-card);
  font-family: var(--fonty);
  font-size: clamp(2.2rem, 1.5625vw, 2.7rem);
  line-height: 0.86;
  letter-spacing: -0.02em;
  font-weight: 400;
  text-transform: uppercase;
}

html.anim-js body {
  opacity: 0;
}

.split-line,
.split-word {
  will-change: opacity;
}

@media (prefers-reduced-motion: reduce) {
  html.anim-js body {
    opacity: 1;
  }
}