@import url("https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap");

:root {
  /* COLORS */
  --gbs-color-primary: #232c40;
  --gbs-color-secondary: #eddabf;
  --gbs-color-secondary-dark: #d8bfa0;
  --gbs-color-tertiary: #a5dbdc;
  --gbs-color-neutral-00: #fff;
  --gbs-color-neutral-10: #edece6;
  --gbs-color-neutral-30: #afb2bb;
  --gbs-color-neutral-50: #7e828f;

  /* FONTS */
  --gbs-font-primary: "Nunito", sans-serif;
  --gbs-font-secondary: "Lexend", sans-serif;
}

.title-hero {
  font-family: var(--gbs-font-primary);
  font-weight: 600;
  font-size: 3rem;
  line-height: 1.2;
  letter-spacing: -0.09rem;
}

.title-page {
  font-family: var(--gbs-font-primary);
  font-weight: 600;
  font-size: 3rem;
  line-height: 1.2;
  letter-spacing: -0.06rem;
}

.title-page-small {
  font-family: var(--gbs-font-primary);
  font-weight: 600;
  font-size: 2.5rem;
  line-height: 1.2;
  letter-spacing: -0.06rem;
}

.subtitle {
  font-family: var(--gbs-font-secondary);
  font-size: 1.5rem;
  line-height: 1.2;
}

.heading {
  font-family: var(--gbs-font-primary);
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.2;
  letter-spacing: -0.025rem;
}

.body {
  font-family: var(--gbs-font-secondary);
  font-size: 1rem;
  line-height: 1.4;
}

.body-small {
  font-family: var(--gbs-font-secondary);
  font-size: 0.875rem;
  line-height: 1.4;
}

.body-large {
  font-family: var(--gbs-font-secondary);
  font-size: 1.125rem;
  line-height: 1.4;
}

.strong {
  font-weight: 700;
}

.single-line {
  line-height: 1;
}

span.highlight {
  --gbs-color-highlight-bg: var(--gbs-color-primary);
  --gbs-color-highlight-font: var(--gbs-color-tertiary);
  background-color: var(--gbs-color-highlight-bg);
  color: var(--gbs-color-highlight-font);
  padding: 0 0.5rem;
  font-weight: 700;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.icon-xs {
  width: 1rem;
  height: 1rem;
  vertical-align: middle;
}

.icon-s {
  width: 2rem;
  height: 2rem;
  vertical-align: middle;
}

.icon-xl {
  width: 4rem;
  height: 4rem;
  vertical-align: middle;
}

.icon-xxl {
  width: 5rem;
  height: 5rem;
  vertical-align: middle;
}

a {
  --gbs-color-link: var(--gbs-color-primary);
  --gbs-color-link-hover: var(--gbs-color-tertiary);
  text-decoration: none;
  color: var(--gbs-color-link);
  cursor: pointer;

  &:hover {
    color: var(--gbs-color-link-hover);
  }
}

section {
  width: 100%;
  max-width: 1200px;
  justify-self: center;
  padding: 4rem 4rem;
}

.btn-primary {
  --gbs-color-bg-btn: var(--gbs-color-neutral-00);
  --gbs-color-bgh-btn: var(--gbs-color-neutral-10);
  --gbs-color-bor-btn: var(--gbs-color-primary);
  --gbs-color-btn: var(--gbs-color-primary);
  display: flex;
  padding: 1rem 1.5rem;
  justify-content: center;
  width: fit-content;

  border-radius: 0.5rem;
  border: 1px solid var(--gbs-color-bor-btn);
  background-color: var(--gbs-color-bg-btn);
  color: var(--gbs-color-btn);

  font-family: var(--gbs-font-secondary);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;

  cursor: pointer;

  &:hover {
    background-color: var(--gbs-color-bgh-btn);
    color: var(--gbs-color-btn);
  }
}

.btn-option {
  --gbs-color-btn: var(--gbs-color-neutral-50);
  display: flex;
  padding: 0.75rem 1rem;
  justify-content: center;
  align-items: center;
  flex: 1 auto;

  border-radius: 0.25rem;
  border: 1px solid var(--gbs-color-neutral-30);
  background-color: var(--gbs-color-neutral-00);
  color: var(--gbs-color-btn);

  font-family: var(--gbs-font-secondary);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;

  cursor: pointer;

  &:hover {
    background-color: var(--gbs-color-neutral-10);
    color: var(--gbs-color-btn);
  }

  &[aria-selected="true"] {
    border: 1px solid var(--gbs-color-secondary);
    background-color: var(--gbs-color-secondary);
    color: var(--gbs-color-primary);
    font-weight: 600;

    &:hover {
      background-color: var(--gbs-color-secondary-dark);
    }
  }
}

.hidden {
  display: none;
}