:root {
  --color-white: #fff;
  --color-light: #f5fafa;
  --color-key-light: #d6fff4;
  --color-key-medium: #33d1a6;
  --color-key-dark: #27796d;
}

html,
body {
  font-size: 16px;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
}

html {
  margin-top: var(--wp-admin-bar, 0px);
}

.admin-bar {
  --wp-admin-bar: 32px;
}

.header {
  width: 100%;
  height: 4rem;
  position: fixed;
  top: var(--wp-admin-bar, 0px);
  left: 0;
  z-index: 800;
}

.identity {
  width: auto;
  height: 4rem;
}
.identity img {
  width: auto;
  height: 3rem;
  padding: 0.5rem;
}

#nav.active {
  --btn-icon-menu: 0;
  --btn-icon-close: 1;
  --menu-y: 0;
  --menu-op: 1;
}
@media (min-width: 700px) {
  #nav {
    --btn-display: none;
    --btn-icon-menu: 0;
    --btn-icon-close: 1;
    --menu-y: 0;
    --menu-op: 1;
  }
}

@media (max-width: 699px) {
  #main-menu {
    position: fixed;
    top: calc(var(--wp-admin-bar, 0px) + 5rem);
    width: calc(100% - 1rem);
    background: var(--color-light);
    left: 0.5rem;
    border-radius: 1rem;
    padding: 0.5rem;
    flex-direction: column;
    translate: 0 var(--menu-y, -1rem) 0;
    opacity: var(--menu-op, 0);
    transition: translate 200ms ease, opacity 200ms ease;
  }
}
.nav {
  border-radius: 5rem;
}
.nav .menu-item > a {
  display: block;
  padding: 0.3rem 0.5rem;
  border-radius: 3rem;
  transition: all 300ms ease;
  font-weight: 500;
}
.nav .menu-item > a.active {
  background-color: var(--color-key-dark);
  color: var(--color-light);
  font-weight: 600;
}

.hero {
  position: relative;
  isolation: isolate;
  aspect-ratio: 16/9;
}
.hero_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.hero_bg > * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.services_list {
  list-style: none;
  margin: 0;
  padding: 1rem;
  gap: 1rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}
.services_list > li {
  flex: 1 1 auto;
  width: 100%;
  max-width: 440px;
}
.services_item {
  position: relative;
  aspect-ratio: 10/7;
}
.services_item:hover {
  --item-blend: multiply;
  --item-grey: 1;
  --item-bright: 0.5;
  --item-op: 1;
}
.services_item_detail {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  color: var(--color-light);
  padding: 2rem;
  color: var(--color-light);
  display: grid;
  place-content: center;
  line-height: 1.6;
  opacity: var(--item-op, 0);
  transition: all 400ms ease;
}
.services_item_img {
  width: 100%;
  aspect-ratio: 10/7;
  background-color: var(--color-key-dark);
}
.services_item_img > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1;
  mix-blend-mode: var(--item-blend, none);
  filter: grayscale(var(--item-grey, 0)) brightness(var(--item-bright, 1));
  transition: all 400ms ease;
}

.team_list {
  list-style: none;
}
.team_item {
  max-width: 320px;
}
.team_item img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/4;
  -o-object-fit: cover;
     object-fit: cover;
}

.featured_slider {
  height: 90vh;
  max-height: 700px;
  overflow: hidden;
}
.featured_item {
  display: flex !important;
  position: relative;
  isolation: isolate;
}
.featured_item > img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  filter: brightness(0.75) grayscale(1);
  mix-blend-mode: overlay;
}

.btn-social {
  display: block;
  width: 36px;
  height: 36px;
  border: solid 1px var(--color-key-dark);
  color: var(--color-key-dark);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px;
  border-radius: 50%;
  transition: all 300ms ease;
}
.btn-social:hover {
  background-color: var(--color-key-dark);
  color: var(--color-light);
}
.btn-social > svg {
  width: 100%;
  height: 100%;
}

.entradas_list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
  gap: 2rem;
}
.entradas_list > .post {
  max-width: auto;
}

.post {
  border-radius: 1rem;
  overflow: hidden;
}
.post-thumbnail img {
  width: 100%;
  max-width: 100%;
  -o-object-fit: 4/3;
     object-fit: 4/3;
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
}
.post-button {
  background-color: var(--color-key-dark);
  color: var(--color-light);
  transition: all 200ms;
}
.post-button:hover {
  color: var(--color-key-medium);
}
.post-page {
  padding-top: calc(var(--wp-admin-bar, 0px) + 3rem);
}
.post-cover img {
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .post-cover img {
    border-radius: 2rem;
    aspect-ratio: 16/7;
  }
}
.post-heading {
  line-height: 1;
}
.post-body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .post-body {
    grid-template-columns: 8fr 4fr;
  }
}
.post-body p {
  margin-bottom: 1rem;
}

.btn-menu {
  width: 3rem;
  height: 3rem;
  padding: 6px;
  cursor: pointer;
  border-radius: 1rem;
  display: var(--btn-display, grid);
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  grid-template-areas: "i";
  transition: all 300ms ease;
}
.btn-menu:hover {
  background-color: var(--color-key-light);
}
.btn-menu svg {
  grid-area: i;
  width: 100%;
  height: 100%;
  transition: scale 200ms ease, opacity 200ms ease;
}
.btn-menu svg.menu {
  scale: var(--btn-icon-menu, 1);
}
.btn-menu svg.close {
  scale: var(--btn-icon-close, 0);
}

.wpcf7 label {
  display: block;
  width: 100%;
  color: var(--color-key-dark);
  padding: 0.5rem;
}
.wpcf7 :where(input, textarea, select) {
  width: 100%;
  border: solid 1px var(--color-key-medium);
  border-radius: 10px;
  padding: 6px 12px;
  color: var(--color-key-dark);
}
.wpcf7 textarea {
  height: 100px;
  overflow: auto;
}
.wpcf7 [type=submit] {
  background-color: var(--color-key-dark);
  color: var(--color-light);
  width: calc(100% - 1rem);
  margin: 0 0.5rem;
}

.w-full {
  width: 100%;
}

.w-1 {
  width: 8.333333%;
}

.w-2 {
  width: 16.666667%;
}

.w-3 {
  width: 25%;
}

.w-4 {
  width: 33.333333%;
}

.w-5 {
  width: 41.666667%;
}

.w-6 {
  width: 50%;
}

.w-7 {
  width: 58.333333%;
}

.w-8 {
  width: 66.666667%;
}

.w-9 {
  width: 75%;
}

.w-10 {
  width: 83.333333%;
}

.w-11 {
  width: 91.666667%;
}

.block {
  display: block;
}

.hidden {
  display: none;
}

.flex {
  display: flex;
}

.justify-center {
  justify-content: center;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-stretch {
  justify-content: stretch;
}

.justify-between {
  justify-content: space-between;
}

.justify-evenly {
  justify-content: space-evenly;
}

.justify-around {
  justify-content: space-around;
}

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

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-stretch {
  align-items: stretch;
}

.text-xs {
  font-size: 0.75rem;
}

.text-sm {
  font-size: 0.875rem;
}

.text-md {
  font-size: 1rem;
}

.text-lg {
  font-size: 1.125rem;
}

.text-xl {
  font-size: 1.25rem;
}

.text-2xl {
  font-size: 1.5rem;
}

.text-3xl {
  font-size: 1.875rem;
}

.text-4xl {
  font-size: 2.25rem;
}

.text-5xl {
  font-size: 3rem;
}

.text-6xl {
  font-size: 3.75rem;
}

.text-7xl {
  font-size: 4.5rem;
}

.text-8xl {
  font-size: 6rem;
}

.text-9xl {
  font-size: 8rem;
}

.row {
  flex-direction: row;
}

.row-reverse {
  flex-direction: row-reverse;
}

.column {
  flex-direction: column;
}

.column-reverse {
  flex-direction: column-reverse;
}

.wrap {
  flex-wrap: wrap;
}

.nowrap {
  flex-wrap: nowrap;
}

.m-xs {
  margin: 0.25rem !important;
}

.m-sm {
  margin: 0.5rem !important;
}

.m-md {
  margin: 1rem !important;
}

.m-lg {
  margin: 1.5rem !important;
}

.m-xl {
  margin: 3rem !important;
}

.mx-xs {
  margin-left: 0.25rem !important;
  margin-right: 0.25rem !important;
}

.mx-sm {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.mx-md {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.mx-lg {
  margin-left: 1.5rem !important;
  margin-right: 1.5rem !important;
}

.mx-xl {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}

.my-xs {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-sm {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-md {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-lg {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-xl {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.p-xs {
  padding: 0.25rem !important;
}

.p-sm {
  padding: 0.5rem !important;
}

.p-md {
  padding: 1rem !important;
}

.p-lg {
  padding: 1.5rem !important;
}

.p-xl {
  padding: 3rem !important;
}

.px-xs {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.px-sm {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.px-md {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.px-lg {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.px-xl {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.py-xs {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-sm {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-md {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-lg {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-xl {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.container {
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 480px) {
  .container {
    max-width: 480px;
  }
}
@media (min-width: 640px) {
  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {
  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {
  .container {
    max-width: 1280px;
  }
}

@media (min-width: 480px) {
  .xs\:w-full {
    width: 100%;
  }
  .xs\:w-1 {
    width: 8.333333%;
  }
  .xs\:w-2 {
    width: 16.666667%;
  }
  .xs\:w-3 {
    width: 25%;
  }
  .xs\:w-4 {
    width: 33.333333%;
  }
  .xs\:w-5 {
    width: 41.666667%;
  }
  .xs\:w-6 {
    width: 50%;
  }
  .xs\:w-7 {
    width: 58.333333%;
  }
  .xs\:w-8 {
    width: 66.666667%;
  }
  .xs\:w-9 {
    width: 75%;
  }
  .xs\:w-10 {
    width: 83.333333%;
  }
  .xs\:w-11 {
    width: 91.666667%;
  }
  .xs\:block {
    display: block;
  }
  .xs\:hidden {
    display: none;
  }
  .xs\:flex {
    display: flex;
  }
  .xs\:justify-center {
    justify-content: center;
  }
  .xs\:justify-start {
    justify-content: flex-start;
  }
  .xs\:justify-end {
    justify-content: flex-end;
  }
  .xs\:justify-stretch {
    justify-content: stretch;
  }
  .xs\:justify-between {
    justify-content: space-between;
  }
  .xs\:justify-evenly {
    justify-content: space-evenly;
  }
  .xs\:justify-around {
    justify-content: space-around;
  }
  .xs\:items-center {
    align-items: center;
  }
  .xs\:items-start {
    align-items: flex-start;
  }
  .xs\:items-end {
    align-items: flex-end;
  }
  .xs\:items-stretch {
    align-items: stretch;
  }
  .xs\:text-xs {
    font-size: 0.75rem;
  }
  .xs\:text-sm {
    font-size: 0.875rem;
  }
  .xs\:text-md {
    font-size: 1rem;
  }
  .xs\:text-lg {
    font-size: 1.125rem;
  }
  .xs\:text-xl {
    font-size: 1.25rem;
  }
  .xs\:text-2xl {
    font-size: 1.5rem;
  }
  .xs\:text-3xl {
    font-size: 1.875rem;
  }
  .xs\:text-4xl {
    font-size: 2.25rem;
  }
  .xs\:text-5xl {
    font-size: 3rem;
  }
  .xs\:text-6xl {
    font-size: 3.75rem;
  }
  .xs\:text-7xl {
    font-size: 4.5rem;
  }
  .xs\:text-8xl {
    font-size: 6rem;
  }
  .xs\:text-9xl {
    font-size: 8rem;
  }
  .xs\:row {
    flex-direction: row;
  }
  .xs\:row-reverse {
    flex-direction: row-reverse;
  }
  .xs\:column {
    flex-direction: column;
  }
  .xs\:column-reverse {
    flex-direction: column-reverse;
  }
  .xs\:wrap {
    flex-wrap: wrap;
  }
  .xs\:nowrap {
    flex-wrap: nowrap;
  }
  .xs\:m-xs {
    margin: 0.25rem !important;
  }
  .xs\:mx-xs {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }
  .xs\:my-xs {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .xs\:mb-xs {
    margin-bottom: 0.25rem !important;
  }
  .xs\:mt-xs {
    margin-top: 0.25rem !important;
  }
  .xs\:p-xs {
    padding: 0.25rem !important;
  }
  .xs\:px-xs {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  .xs\:py-xs {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .xs\:m-sm {
    margin: 0.5rem !important;
  }
  .xs\:mx-sm {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  .xs\:my-sm {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .xs\:mb-sm {
    margin-bottom: 0.5rem !important;
  }
  .xs\:mt-sm {
    margin-top: 0.5rem !important;
  }
  .xs\:p-sm {
    padding: 0.5rem !important;
  }
  .xs\:px-sm {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .xs\:py-sm {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .xs\:m-md {
    margin: 1rem !important;
  }
  .xs\:mx-md {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .xs\:my-md {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .xs\:mb-md {
    margin-bottom: 1rem !important;
  }
  .xs\:mt-md {
    margin-top: 1rem !important;
  }
  .xs\:p-md {
    padding: 1rem !important;
  }
  .xs\:px-md {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .xs\:py-md {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .xs\:m-lg {
    margin: 1.5rem !important;
  }
  .xs\:mx-lg {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
  .xs\:my-lg {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .xs\:mb-lg {
    margin-bottom: 1.5rem !important;
  }
  .xs\:mt-lg {
    margin-top: 1.5rem !important;
  }
  .xs\:p-lg {
    padding: 1.5rem !important;
  }
  .xs\:px-lg {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .xs\:py-lg {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .xs\:m-xl {
    margin: 3rem !important;
  }
  .xs\:mx-xl {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .xs\:my-xl {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .xs\:mb-xl {
    margin-bottom: 3rem !important;
  }
  .xs\:mt-xl {
    margin-top: 3rem !important;
  }
  .xs\:p-xl {
    padding: 3rem !important;
  }
  .xs\:px-xl {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .xs\:py-xl {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}
@media (min-width: 640px) {
  .sm\:w-full {
    width: 100%;
  }
  .sm\:w-1 {
    width: 8.333333%;
  }
  .sm\:w-2 {
    width: 16.666667%;
  }
  .sm\:w-3 {
    width: 25%;
  }
  .sm\:w-4 {
    width: 33.333333%;
  }
  .sm\:w-5 {
    width: 41.666667%;
  }
  .sm\:w-6 {
    width: 50%;
  }
  .sm\:w-7 {
    width: 58.333333%;
  }
  .sm\:w-8 {
    width: 66.666667%;
  }
  .sm\:w-9 {
    width: 75%;
  }
  .sm\:w-10 {
    width: 83.333333%;
  }
  .sm\:w-11 {
    width: 91.666667%;
  }
  .sm\:block {
    display: block;
  }
  .sm\:hidden {
    display: none;
  }
  .sm\:flex {
    display: flex;
  }
  .sm\:justify-center {
    justify-content: center;
  }
  .sm\:justify-start {
    justify-content: flex-start;
  }
  .sm\:justify-end {
    justify-content: flex-end;
  }
  .sm\:justify-stretch {
    justify-content: stretch;
  }
  .sm\:justify-between {
    justify-content: space-between;
  }
  .sm\:justify-evenly {
    justify-content: space-evenly;
  }
  .sm\:justify-around {
    justify-content: space-around;
  }
  .sm\:items-center {
    align-items: center;
  }
  .sm\:items-start {
    align-items: flex-start;
  }
  .sm\:items-end {
    align-items: flex-end;
  }
  .sm\:items-stretch {
    align-items: stretch;
  }
  .sm\:text-xs {
    font-size: 0.75rem;
  }
  .sm\:text-sm {
    font-size: 0.875rem;
  }
  .sm\:text-md {
    font-size: 1rem;
  }
  .sm\:text-lg {
    font-size: 1.125rem;
  }
  .sm\:text-xl {
    font-size: 1.25rem;
  }
  .sm\:text-2xl {
    font-size: 1.5rem;
  }
  .sm\:text-3xl {
    font-size: 1.875rem;
  }
  .sm\:text-4xl {
    font-size: 2.25rem;
  }
  .sm\:text-5xl {
    font-size: 3rem;
  }
  .sm\:text-6xl {
    font-size: 3.75rem;
  }
  .sm\:text-7xl {
    font-size: 4.5rem;
  }
  .sm\:text-8xl {
    font-size: 6rem;
  }
  .sm\:text-9xl {
    font-size: 8rem;
  }
  .sm\:row {
    flex-direction: row;
  }
  .sm\:row-reverse {
    flex-direction: row-reverse;
  }
  .sm\:column {
    flex-direction: column;
  }
  .sm\:column-reverse {
    flex-direction: column-reverse;
  }
  .sm\:wrap {
    flex-wrap: wrap;
  }
  .sm\:nowrap {
    flex-wrap: nowrap;
  }
  .sm\:m-xs {
    margin: 0.25rem !important;
  }
  .sm\:mx-xs {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }
  .sm\:my-xs {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .sm\:mb-xs {
    margin-bottom: 0.25rem !important;
  }
  .sm\:mt-xs {
    margin-top: 0.25rem !important;
  }
  .sm\:p-xs {
    padding: 0.25rem !important;
  }
  .sm\:px-xs {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  .sm\:py-xs {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .sm\:m-sm {
    margin: 0.5rem !important;
  }
  .sm\:mx-sm {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  .sm\:my-sm {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .sm\:mb-sm {
    margin-bottom: 0.5rem !important;
  }
  .sm\:mt-sm {
    margin-top: 0.5rem !important;
  }
  .sm\:p-sm {
    padding: 0.5rem !important;
  }
  .sm\:px-sm {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .sm\:py-sm {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .sm\:m-md {
    margin: 1rem !important;
  }
  .sm\:mx-md {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .sm\:my-md {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .sm\:mb-md {
    margin-bottom: 1rem !important;
  }
  .sm\:mt-md {
    margin-top: 1rem !important;
  }
  .sm\:p-md {
    padding: 1rem !important;
  }
  .sm\:px-md {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .sm\:py-md {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .sm\:m-lg {
    margin: 1.5rem !important;
  }
  .sm\:mx-lg {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
  .sm\:my-lg {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .sm\:mb-lg {
    margin-bottom: 1.5rem !important;
  }
  .sm\:mt-lg {
    margin-top: 1.5rem !important;
  }
  .sm\:p-lg {
    padding: 1.5rem !important;
  }
  .sm\:px-lg {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .sm\:py-lg {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .sm\:m-xl {
    margin: 3rem !important;
  }
  .sm\:mx-xl {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .sm\:my-xl {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .sm\:mb-xl {
    margin-bottom: 3rem !important;
  }
  .sm\:mt-xl {
    margin-top: 3rem !important;
  }
  .sm\:p-xl {
    padding: 3rem !important;
  }
  .sm\:px-xl {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .sm\:py-xl {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}
@media (min-width: 768px) {
  .md\:w-full {
    width: 100%;
  }
  .md\:w-1 {
    width: 8.333333%;
  }
  .md\:w-2 {
    width: 16.666667%;
  }
  .md\:w-3 {
    width: 25%;
  }
  .md\:w-4 {
    width: 33.333333%;
  }
  .md\:w-5 {
    width: 41.666667%;
  }
  .md\:w-6 {
    width: 50%;
  }
  .md\:w-7 {
    width: 58.333333%;
  }
  .md\:w-8 {
    width: 66.666667%;
  }
  .md\:w-9 {
    width: 75%;
  }
  .md\:w-10 {
    width: 83.333333%;
  }
  .md\:w-11 {
    width: 91.666667%;
  }
  .md\:block {
    display: block;
  }
  .md\:hidden {
    display: none;
  }
  .md\:flex {
    display: flex;
  }
  .md\:justify-center {
    justify-content: center;
  }
  .md\:justify-start {
    justify-content: flex-start;
  }
  .md\:justify-end {
    justify-content: flex-end;
  }
  .md\:justify-stretch {
    justify-content: stretch;
  }
  .md\:justify-between {
    justify-content: space-between;
  }
  .md\:justify-evenly {
    justify-content: space-evenly;
  }
  .md\:justify-around {
    justify-content: space-around;
  }
  .md\:items-center {
    align-items: center;
  }
  .md\:items-start {
    align-items: flex-start;
  }
  .md\:items-end {
    align-items: flex-end;
  }
  .md\:items-stretch {
    align-items: stretch;
  }
  .md\:text-xs {
    font-size: 0.75rem;
  }
  .md\:text-sm {
    font-size: 0.875rem;
  }
  .md\:text-md {
    font-size: 1rem;
  }
  .md\:text-lg {
    font-size: 1.125rem;
  }
  .md\:text-xl {
    font-size: 1.25rem;
  }
  .md\:text-2xl {
    font-size: 1.5rem;
  }
  .md\:text-3xl {
    font-size: 1.875rem;
  }
  .md\:text-4xl {
    font-size: 2.25rem;
  }
  .md\:text-5xl {
    font-size: 3rem;
  }
  .md\:text-6xl {
    font-size: 3.75rem;
  }
  .md\:text-7xl {
    font-size: 4.5rem;
  }
  .md\:text-8xl {
    font-size: 6rem;
  }
  .md\:text-9xl {
    font-size: 8rem;
  }
  .md\:row {
    flex-direction: row;
  }
  .md\:row-reverse {
    flex-direction: row-reverse;
  }
  .md\:column {
    flex-direction: column;
  }
  .md\:column-reverse {
    flex-direction: column-reverse;
  }
  .md\:wrap {
    flex-wrap: wrap;
  }
  .md\:nowrap {
    flex-wrap: nowrap;
  }
  .md\:m-xs {
    margin: 0.25rem !important;
  }
  .md\:mx-xs {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }
  .md\:my-xs {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .md\:mb-xs {
    margin-bottom: 0.25rem !important;
  }
  .md\:mt-xs {
    margin-top: 0.25rem !important;
  }
  .md\:p-xs {
    padding: 0.25rem !important;
  }
  .md\:px-xs {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  .md\:py-xs {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .md\:m-sm {
    margin: 0.5rem !important;
  }
  .md\:mx-sm {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  .md\:my-sm {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .md\:mb-sm {
    margin-bottom: 0.5rem !important;
  }
  .md\:mt-sm {
    margin-top: 0.5rem !important;
  }
  .md\:p-sm {
    padding: 0.5rem !important;
  }
  .md\:px-sm {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .md\:py-sm {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .md\:m-md {
    margin: 1rem !important;
  }
  .md\:mx-md {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .md\:my-md {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .md\:mb-md {
    margin-bottom: 1rem !important;
  }
  .md\:mt-md {
    margin-top: 1rem !important;
  }
  .md\:p-md {
    padding: 1rem !important;
  }
  .md\:px-md {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .md\:py-md {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .md\:m-lg {
    margin: 1.5rem !important;
  }
  .md\:mx-lg {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
  .md\:my-lg {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .md\:mb-lg {
    margin-bottom: 1.5rem !important;
  }
  .md\:mt-lg {
    margin-top: 1.5rem !important;
  }
  .md\:p-lg {
    padding: 1.5rem !important;
  }
  .md\:px-lg {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .md\:py-lg {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .md\:m-xl {
    margin: 3rem !important;
  }
  .md\:mx-xl {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .md\:my-xl {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .md\:mb-xl {
    margin-bottom: 3rem !important;
  }
  .md\:mt-xl {
    margin-top: 3rem !important;
  }
  .md\:p-xl {
    padding: 3rem !important;
  }
  .md\:px-xl {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .md\:py-xl {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}
@media (min-width: 1024px) {
  .lg\:w-full {
    width: 100%;
  }
  .lg\:w-1 {
    width: 8.333333%;
  }
  .lg\:w-2 {
    width: 16.666667%;
  }
  .lg\:w-3 {
    width: 25%;
  }
  .lg\:w-4 {
    width: 33.333333%;
  }
  .lg\:w-5 {
    width: 41.666667%;
  }
  .lg\:w-6 {
    width: 50%;
  }
  .lg\:w-7 {
    width: 58.333333%;
  }
  .lg\:w-8 {
    width: 66.666667%;
  }
  .lg\:w-9 {
    width: 75%;
  }
  .lg\:w-10 {
    width: 83.333333%;
  }
  .lg\:w-11 {
    width: 91.666667%;
  }
  .lg\:block {
    display: block;
  }
  .lg\:hidden {
    display: none;
  }
  .lg\:flex {
    display: flex;
  }
  .lg\:justify-center {
    justify-content: center;
  }
  .lg\:justify-start {
    justify-content: flex-start;
  }
  .lg\:justify-end {
    justify-content: flex-end;
  }
  .lg\:justify-stretch {
    justify-content: stretch;
  }
  .lg\:justify-between {
    justify-content: space-between;
  }
  .lg\:justify-evenly {
    justify-content: space-evenly;
  }
  .lg\:justify-around {
    justify-content: space-around;
  }
  .lg\:items-center {
    align-items: center;
  }
  .lg\:items-start {
    align-items: flex-start;
  }
  .lg\:items-end {
    align-items: flex-end;
  }
  .lg\:items-stretch {
    align-items: stretch;
  }
  .lg\:text-xs {
    font-size: 0.75rem;
  }
  .lg\:text-sm {
    font-size: 0.875rem;
  }
  .lg\:text-md {
    font-size: 1rem;
  }
  .lg\:text-lg {
    font-size: 1.125rem;
  }
  .lg\:text-xl {
    font-size: 1.25rem;
  }
  .lg\:text-2xl {
    font-size: 1.5rem;
  }
  .lg\:text-3xl {
    font-size: 1.875rem;
  }
  .lg\:text-4xl {
    font-size: 2.25rem;
  }
  .lg\:text-5xl {
    font-size: 3rem;
  }
  .lg\:text-6xl {
    font-size: 3.75rem;
  }
  .lg\:text-7xl {
    font-size: 4.5rem;
  }
  .lg\:text-8xl {
    font-size: 6rem;
  }
  .lg\:text-9xl {
    font-size: 8rem;
  }
  .lg\:row {
    flex-direction: row;
  }
  .lg\:row-reverse {
    flex-direction: row-reverse;
  }
  .lg\:column {
    flex-direction: column;
  }
  .lg\:column-reverse {
    flex-direction: column-reverse;
  }
  .lg\:wrap {
    flex-wrap: wrap;
  }
  .lg\:nowrap {
    flex-wrap: nowrap;
  }
  .lg\:m-xs {
    margin: 0.25rem !important;
  }
  .lg\:mx-xs {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }
  .lg\:my-xs {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .lg\:mb-xs {
    margin-bottom: 0.25rem !important;
  }
  .lg\:mt-xs {
    margin-top: 0.25rem !important;
  }
  .lg\:p-xs {
    padding: 0.25rem !important;
  }
  .lg\:px-xs {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  .lg\:py-xs {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .lg\:m-sm {
    margin: 0.5rem !important;
  }
  .lg\:mx-sm {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  .lg\:my-sm {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .lg\:mb-sm {
    margin-bottom: 0.5rem !important;
  }
  .lg\:mt-sm {
    margin-top: 0.5rem !important;
  }
  .lg\:p-sm {
    padding: 0.5rem !important;
  }
  .lg\:px-sm {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .lg\:py-sm {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .lg\:m-md {
    margin: 1rem !important;
  }
  .lg\:mx-md {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .lg\:my-md {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .lg\:mb-md {
    margin-bottom: 1rem !important;
  }
  .lg\:mt-md {
    margin-top: 1rem !important;
  }
  .lg\:p-md {
    padding: 1rem !important;
  }
  .lg\:px-md {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .lg\:py-md {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .lg\:m-lg {
    margin: 1.5rem !important;
  }
  .lg\:mx-lg {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
  .lg\:my-lg {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .lg\:mb-lg {
    margin-bottom: 1.5rem !important;
  }
  .lg\:mt-lg {
    margin-top: 1.5rem !important;
  }
  .lg\:p-lg {
    padding: 1.5rem !important;
  }
  .lg\:px-lg {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .lg\:py-lg {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .lg\:m-xl {
    margin: 3rem !important;
  }
  .lg\:mx-xl {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .lg\:my-xl {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .lg\:mb-xl {
    margin-bottom: 3rem !important;
  }
  .lg\:mt-xl {
    margin-top: 3rem !important;
  }
  .lg\:p-xl {
    padding: 3rem !important;
  }
  .lg\:px-xl {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .lg\:py-xl {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}
@media (min-width: 1280px) {
  .xl\:w-full {
    width: 100%;
  }
  .xl\:w-1 {
    width: 8.333333%;
  }
  .xl\:w-2 {
    width: 16.666667%;
  }
  .xl\:w-3 {
    width: 25%;
  }
  .xl\:w-4 {
    width: 33.333333%;
  }
  .xl\:w-5 {
    width: 41.666667%;
  }
  .xl\:w-6 {
    width: 50%;
  }
  .xl\:w-7 {
    width: 58.333333%;
  }
  .xl\:w-8 {
    width: 66.666667%;
  }
  .xl\:w-9 {
    width: 75%;
  }
  .xl\:w-10 {
    width: 83.333333%;
  }
  .xl\:w-11 {
    width: 91.666667%;
  }
  .xl\:block {
    display: block;
  }
  .xl\:hidden {
    display: none;
  }
  .xl\:flex {
    display: flex;
  }
  .xl\:justify-center {
    justify-content: center;
  }
  .xl\:justify-start {
    justify-content: flex-start;
  }
  .xl\:justify-end {
    justify-content: flex-end;
  }
  .xl\:justify-stretch {
    justify-content: stretch;
  }
  .xl\:justify-between {
    justify-content: space-between;
  }
  .xl\:justify-evenly {
    justify-content: space-evenly;
  }
  .xl\:justify-around {
    justify-content: space-around;
  }
  .xl\:items-center {
    align-items: center;
  }
  .xl\:items-start {
    align-items: flex-start;
  }
  .xl\:items-end {
    align-items: flex-end;
  }
  .xl\:items-stretch {
    align-items: stretch;
  }
  .xl\:text-xs {
    font-size: 0.75rem;
  }
  .xl\:text-sm {
    font-size: 0.875rem;
  }
  .xl\:text-md {
    font-size: 1rem;
  }
  .xl\:text-lg {
    font-size: 1.125rem;
  }
  .xl\:text-xl {
    font-size: 1.25rem;
  }
  .xl\:text-2xl {
    font-size: 1.5rem;
  }
  .xl\:text-3xl {
    font-size: 1.875rem;
  }
  .xl\:text-4xl {
    font-size: 2.25rem;
  }
  .xl\:text-5xl {
    font-size: 3rem;
  }
  .xl\:text-6xl {
    font-size: 3.75rem;
  }
  .xl\:text-7xl {
    font-size: 4.5rem;
  }
  .xl\:text-8xl {
    font-size: 6rem;
  }
  .xl\:text-9xl {
    font-size: 8rem;
  }
  .xl\:row {
    flex-direction: row;
  }
  .xl\:row-reverse {
    flex-direction: row-reverse;
  }
  .xl\:column {
    flex-direction: column;
  }
  .xl\:column-reverse {
    flex-direction: column-reverse;
  }
  .xl\:wrap {
    flex-wrap: wrap;
  }
  .xl\:nowrap {
    flex-wrap: nowrap;
  }
  .xl\:m-xs {
    margin: 0.25rem !important;
  }
  .xl\:mx-xs {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }
  .xl\:my-xs {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .xl\:mb-xs {
    margin-bottom: 0.25rem !important;
  }
  .xl\:mt-xs {
    margin-top: 0.25rem !important;
  }
  .xl\:p-xs {
    padding: 0.25rem !important;
  }
  .xl\:px-xs {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  .xl\:py-xs {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .xl\:m-sm {
    margin: 0.5rem !important;
  }
  .xl\:mx-sm {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  .xl\:my-sm {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .xl\:mb-sm {
    margin-bottom: 0.5rem !important;
  }
  .xl\:mt-sm {
    margin-top: 0.5rem !important;
  }
  .xl\:p-sm {
    padding: 0.5rem !important;
  }
  .xl\:px-sm {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .xl\:py-sm {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .xl\:m-md {
    margin: 1rem !important;
  }
  .xl\:mx-md {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .xl\:my-md {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .xl\:mb-md {
    margin-bottom: 1rem !important;
  }
  .xl\:mt-md {
    margin-top: 1rem !important;
  }
  .xl\:p-md {
    padding: 1rem !important;
  }
  .xl\:px-md {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .xl\:py-md {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .xl\:m-lg {
    margin: 1.5rem !important;
  }
  .xl\:mx-lg {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
  .xl\:my-lg {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .xl\:mb-lg {
    margin-bottom: 1.5rem !important;
  }
  .xl\:mt-lg {
    margin-top: 1.5rem !important;
  }
  .xl\:p-lg {
    padding: 1.5rem !important;
  }
  .xl\:px-lg {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .xl\:py-lg {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .xl\:m-xl {
    margin: 3rem !important;
  }
  .xl\:mx-xl {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .xl\:my-xl {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .xl\:mb-xl {
    margin-bottom: 3rem !important;
  }
  .xl\:mt-xl {
    margin-top: 3rem !important;
  }
  .xl\:p-xl {
    padding: 3rem !important;
  }
  .xl\:px-xl {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .xl\:py-xl {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}
.text-center {
  text-align: center;
}
.text-upper {
  text-transform: uppercase;
}

.light {
  font-weight: 300;
}

.regular {
  font-weight: 400;
}

.semibold {
  font-weight: 600;
}

.bold {
  font-weight: 700;
}

.black {
  font-weight: 900;
}

:where(h1, h2, h3, h4, h5, h6) {
  line-height: 1.2;
}

.sticky {
  position: sticky;
}
.sticky.top-header {
  top: 4rem;
}
.sticky.top-middle {
  top: 50vh;
  translate: 0 -50% 0;
}

.btn {
  width: -moz-max-content;
  width: max-content;
  display: block;
  border-radius: 8px;
  padding: 8px 16px;
  transition: all 400ms ease;
  cursor: pointer;
}
.btn-dark {
  background-color: var(--color-key-dark);
  color: var(--color-light);
}
.btn-dark:hover {
  background-color: var(--color-key-medium);
}

.bg-white {
  background-color: var(--color-white);
}

.bg-light {
  background-color: var(--color-light);
}

.bg-key-light {
  background-color: var(--color-key-light);
}

.bg-key-medium {
  background-color: var(--color-key-medium);
}

.bg-key-dark {
  background-color: var(--color-key-dark);
}

.color-white {
  color: var(--color-white);
}

.color-light {
  color: var(--color-light);
}

.color-key-light {
  color: var(--color-key-light);
}

.color-key-medium {
  color: var(--color-key-medium);
}

.color-key-dark {
  color: var(--color-key-dark);
}

/* Recomendado por Lenis */
html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
} /* Evita conflicto con smooth nativo */
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth [data-lenis-prevent-wheel] {
  overscroll-behavior: contain;
}