/*

    Page width: 1440px
    Device scaling: 60em

*/
:root {
  --page-width: 1440px;

  --clr-accent-100: #C0FD5D;
  --clr-accent-200: #AFF73C;
  --clr-accent-300: #E7FD5D;
  --clr-accent-400: #7DCA02;
  --clr-accent-500: #AFF73C;

  --clr-primary-400: #affd2f;

  --clr-neutral-100: hsl(0, 0%, 100%);
  --clr-neutral-200: hsl(0, 0%, 99%);
  --clr-neutral-300: hsl(0, 0%, 96%);
  --clr-neutral-400: rgb(255, 255, 255, .75);
  --clr-neutral-700:  hsl(0, 0%, 5%);
  --clr-neutral-800:  rgb(0, 0, 0, .7);
  --clr-neutral-900:  hsl(0, 0%, 0%);

  --clr-footer: #0d0d0d;

  --clr-text-body: var(--clr-neutral-900);
  --clr-background-body: var(--clr-neutral-300);

  --ff-primary: 'Nunito', sans-serif;
  /*--ff-secondary: 'Kanit', sans-serif;*/

  --ff-body: var(--ff-primary);
  --ff-header: var(--ff-primary);

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semi-bold: 600;
  --fw-bold: 700;
  --fw-black: 900;

  --fs-100: .875rem; /* 14px */
  --fs-200: 0.9375rem; /* 15px */
  --fs-300: 1rem; /* 16px */
  --fs-400: 1.125rem; /* 18px */
  --fs-500: 1.25rem; /* 20px */
  --fs-600: 2rem; /* 32px */
  --fs-700: 2.25rem; /* 36px */
  --fs-800: 2.5rem; /* 40px */
  --fs-900: 3rem; /* 48px */

  --fs-body: var(--fs-300);

  --fs-primary-heading: var(--fs-600);
  --fs-secondary-heading: var(--fs-500);

  --size-100: .25rem; /* 4px */
  --size-200: .5rem; /* 8px */
  --size-300: .75rem; /* 12px */
  --size-400: 1rem; /* 16px */
  --size-500: 1.5rem; /* 24px */
  --size-600: 2rem; /* 32px */
  --size-700: 3rem; /* 48px */
  --size-800: 4rem; /* 64px */
  --size-900: 5rem; /* 80px */
}

@media (min-width: 60em) {
  :root {
      --fs-body: var(--fs-500);
      --fs-primary-heading: var(--fs-800);
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
* {
  margin: 0;
  padding: 0;
  font: inherit;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

html {
  scroll-padding-top: 4.7rem;
}

html,
body {
  min-height: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

a:not([data-deco="true"]) {
  text-decoration: none;
}

/* Make images easier to work with */
img,
picture,
svg {
  max-width: 100%;
  display: block;
  pointer-events: none;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
html:focus-within {
  scroll-behavior: auto;
}

*,
*::before,
*::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}
}

/* General Styling */
body {
  font-size: var(--fs-body);
  font-family: var(--ff-body);
  color: var(--clr-text-body);
  background-color: var(--clr-background-body);
  font-weight: var(--fw-semi-bold);
}

/* Onscroll animations */
.hid-left-200 {
  opacity: 0;
  filter: blur(2px);
  transform: translateX(-40px);
  transition: all .3s ease-out;
  transition-delay: 100ms;
}

.hid-left-400 {
  opacity: 0;
  filter: blur(2px);
  transform: translateX(-80px);
  transition: all .5s ease-out;
  transition-delay: 100ms;
}

.hid-left-600 {
  opacity: 0;
  filter: blur(2px);
  transform: translateX(-120px);
  transition: all 1s ease-out;
  transition-delay: 100ms;
}

.hid-left-800 {
  opacity: 0;
  filter: blur(2px);
  transform: translateX(-160px);
  transition: all 1.1s ease-out;
  transition-delay: 100ms;
}

.hid-right-200 {
  opacity: 0;
  filter: blur(2px);
  transform: translateX(40px);
  transition: all .3s ease-out;
  transition-delay: 100ms;
}

.hid-right-400 {
  opacity: 0;
  filter: blur(2px);
  transform: translateX(80px);
  transition: all .5s ease-out;
  transition-delay: 100ms;
}

.hid-right-600 {
  opacity: 0;
  filter: blur(2px);
  transform: translateX(120px);
  transition: all 1s ease-out;
  transition-delay: 100ms;
}

.hid-right-800 {
  opacity: 0;
  filter: blur(2px);
  transform: translateX(160px);
  transition: all 1.1s ease-out;
  transition-delay: 100ms;
}

.hid-bottom-400 {
  opacity: 0;
  filter: blur(2px);
  transform: translateY(80px);
  transition: all .5s ease-out;
  transition-delay: 100ms;
}

.hid-bottom-600 {
  opacity: 0;
  filter: blur(2px);
  transform: translateY(120px);
  transition: all 1s ease-out;
  transition-delay: 100ms;
}

.hid-bottom-800 {
  opacity: 0;
  filter: blur(2px);
  transform: translateY(160px);
  transition: all 1.1s ease-out;
  transition-delay: 100ms;
}

.hid-top-200 {
  opacity: 0;
  filter: blur(2px);
  transform: translateY(-40px);
  transition: all .5s ease-out;
  transition-delay: 100ms;
}

.hid-top-400 {
  opacity: 0;
  filter: blur(2px);
  transform: translateY(-80px);
  transition: all .5s ease-out;
  transition-delay: 100ms;
}

@media (max-width: 60em) {
  .price-list > .hid-top-400 {
    opacity: 1;
    filter: none;
    transform: translateY(0);
    transition: 0;
    transition-delay: 0;
  }

  .about-image-wrapper.hid-right-800, .about-inner.hid-left-800 {
    opacity: 1;
    filter: none;
    transform: translateX(0);
    transition: 0;
    transition-delay: 0;
  }
}

/* Onscroll delays */
span { display: inline-block;}
.landing-contact { transition-delay: 350ms; }
.landing-box-wrapper > .hid-bottom-400 { transition-delay: 450ms; }
.primary-navigation > ul > li:nth-child(1), .header__title-wrapper { transition-delay: 200ms; }
.primary-navigation > ul > li:nth-child(2) { transition-delay: 350ms; }
.primary-navigation > ul > li:nth-child(3) { transition-delay: 500ms; }
.primary-navigation > ul > li:nth-child(4), .header__title { transition-delay: 650ms; }
.primary-navigation > .button-contact-wrapper { transition-delay: 800ms; }
.teaching__2-types .teaching__2-inline-part:nth-child(1) > * { transition-delay: 200ms; }
.teaching__2-types .teaching__2-inline-part:nth-child(2) > * { transition-delay: 350ms; }
.teaching__2-types .teaching__2-inline-part:nth-child(3) > * { transition-delay: 500ms; }
.teaching__2-types .teaching__2-inline-part:nth-child(4) > * { transition-delay: 650ms; }
.price { transition-delay: 500ms; }
.about-box > p:nth-child(1) { transition-delay: 150ms; }
.about-box > p:nth-child(2) { transition-delay: 250ms; }
.about-box > p:nth-child(3) { transition-delay: 350ms; }
.about-box > p:nth-child(4) { transition-delay: 450ms; }
.about-box > p:nth-child(5) { transition-delay: 550ms; }
.about-box > p:nth-child(6) { transition-delay: 650ms; }
.about-box > p:nth-child(7) { transition-delay: 750ms; }
.about-box > p:nth-child(8) { transition-delay: 850ms; }
.input-box, .submit { transition-delay: 250ms; }

.show {
  opacity: 1;
  filter: blur(0);
  transform: translateX(0);
}

/* Button */
.button {
  display: inline-flex;
  cursor: pointer;
  text-decoration: none;
  border: 0;
  border-radius: 100vmax;
  padding: var(--size-200) var(--size-400);
  font-weight: var(--fw-medium);
  font-size: var(--fs-button);
  line-height: 1;
  color: var(--clr-neutral-100);
  background-color: var(--clr-accent-400);
  box-shadow: 0 4px 5px 0em var(--clr-accent-200);
  align-items: center;
  transition: all .3s ease-out;
}

.button[data-shadow="none"] {
  box-shadow: none;
}

.button[data-size="big"] {
  width: 100%;
  text-align: center;
  display: block;
  padding: var(--size-300) var(--size-400);
}

.button:is(:hover, :focus) {
  background-color: var(--clr-accent-500);
}

/* Bubble */
.bubble {
  margin: 0 auto;
  max-width: 90%;
  background-color: var(--clr-accent-100);
  padding: var(--size-300) var(--size-500);
  border-radius: 1.4rem;
  transition: .3s all ease-in-out;
}

@media (min-width: 60em) {
  .bubble {
    margin: 0;
  }
}

.bubble:hover {
  transform: scale(1.02);
}

/* Splide */

.splide__pagination__page {
  background: var(--clr-neutral-900) !important;
}

.splide__pagination__page.is-active {
  background: var(--clr-neutral-300) !important;
}

/* Mobile */
.return-to-top { display: none; }

.mail-sent-box {
  position: absolute;
  z-index: 20;
  left: 50%;
  transform: translateX(-50%) translateY(130px);
  opacity: 0;
  text-align: center;
  line-height: 2.7rem;
  width: 40ch;
  height: 3rem;
  border: 1px solid var(--clr-neutral-900);
  color: var(--clr-accent-100);
  border-radius: 4px;
  background-color: var(--clr-neutral-800);
  transition: all .5s ease-out;
}

.visible {
  opacity: .7;
}

/* Mobile ==> Header */
.primary-header {
  width: 100%;
  position: fixed;
  z-index: 2024;
  background-color: var(--clr-neutral-100);
}

.primary-header > .container {
  position: relative;
  z-index: 3;
  height: 4.5rem;
}

.landing { margin-top: 4.5rem;}

.header__title-wrapper {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.header__title {
  line-height: 1;
}

.header__title,
.footer__title {
  cursor: pointer;
}

.nav-responsive__button {
  background: transparent;
  border: 0;
}

.primary-navigation {
  inset: 7rem var(--size-400) auto;
  position: absolute;
  padding: var(--size-700) var(--size-700) var(--size-300);
  max-width: 35rem;
  margin-left: auto;
  background: var(--clr-footer);
  border-radius: 1.4rem;
  transform: translateY(-135%);
}

.primary-navigation[data-visible] {
  animation: 1000ms slide-in;
  animation-timing-function: cubic-bezier(.63,-0.55,0,1.09);
  transform: translateY(0%);
}

.close {
  animation: 1000ms slide-out;
  animation-timing-function: cubic-bezier(.63,-0.55,0,1.09);
}

.primary-navigation > ul > li {
  margin-bottom: var(--size-700);
}

.primary-navigation > ul > li > a {
  cursor: pointer;
  color: var(--clr-neutral-200);
  font-size: var(--fs-400);
  font-weight: var(--fw-regular);
}

.nav > ul > li > a,
.footer__socials > li > a {
  transition: all .3s ease-out;
}

.nav > ul > li > a:hover,
.footer__socials > li > a:hover {
  color: var(--clr-primary-400);
}

.nav-responsive__button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  height: 30px;
  cursor: pointer;
}

.nav-responsive__button-open::before {
  content: '';
  display: block;
  width: 35px;
  height: 2px;
  background-color: var(--clr-neutral-900);
  transition: 0.4s all ease;
  transform: translateY(-11px);
}

.nav-responsive__button-line {
  position: absolute;
  display: block;
  width: 29px;
  height: 2px;
  background-color: var(--clr-neutral-900);
  transition: 0.4s all ease;
  transform: translateX(3px);
}

.nav-responsive__button-open::after {
  content: '';
  display: block;
  width: 35px;
  height: 2px;
  position: absolute;
  right: 0;
  background-color: var(--clr-neutral-900);
  transition: 0.4s all ease;
  transform: translateY(9px);
}

.nav-responsive__button[aria-expanded="true"] .nav-responsive__button-open::before {
  width: 32px;
  transform: rotate(45deg) translate(0px, 0px);
}

.nav-responsive__button[aria-expanded="true"] .nav-responsive__button-line {
  transform: translateX(40px);
  opacity: 0;
}

.nav-responsive__button[aria-expanded="true"] .nav-responsive__button-open::after {
  width: 32px;
  transform: rotate(-45deg) translate(1px, -2px);
  right: 0;
}

/* Mobile ==> Landing */
.landing-contact, .landing-box-wrapper {
  position: relative;
  z-index: 3;
}

.landing-img-wrapper {
  width: 100%;
}

.landing-svg {
  position: relative;
  transform: rotate(180deg);
  z-index: 1;
  background-color: var(--clr-accent-100);
}

.landing-box {
  position: relative;
  z-index: 20;
  margin-top: var(--size-500);
  padding: 0 var(--size-500) var(--size-300) var(--size-300);
  background: transparent;
}

.landing-svg3-wrapper::after {
  content: '';
  position: absolute;
  background-color: var(--clr-accent-100);
  width: 100%;
  height: 13rem;
  transform: translateY(-14rem);
}

.landing-svg3 {
  transform: rotate(180deg);
  position: relative;
  z-index: 0;
  margin-top: -1px;
}

.landing-img {
  background-color: var(--clr-accent-100);
  position: relative;
  z-index: 2;
  width: 100%;
  object-fit: contain;
  margin: 0 auto;
}

.landing-contact {
  position: relative;
  z-index: 3;
  margin-top: -3rem;
  display: flex;
  justify-content: center;
  gap: var(--size-500);
}

.landing-contact a {
  font-size: var(--fs-200);
  color: var(--clr-neutral-900);
  transition: all .3s ease;
}

.landing-contact a:is(:hover, :focus) {
  color: var(--clr-accent-200);
}

/* Mobile => Teaching 1 */
.teaching__1 {
  margin-top: 9rem;
}

.teaching__2, .prices, .about, .reference, .contact {
  margin-top: 7rem;
}

.teaching__1-container::before {
  content: '';
  position: absolute;
  z-index: -1;
  right: 0;
  width: 738px;
  height: 907px;
  background-image: url("img/blob.svg");
  display: block;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: top right;
  opacity: .4;
  transform: translateY(-50px);
}

.teaching__1-container::after {
  content: '';
  position: absolute;
  z-index: -1;
  left: 0;
  width: 100%;
  height: 870px;
  background-image: url("img/blob2.svg");
  display: block;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: top left;
  opacity: .4;
  transform: translateY(-130px);
}

.teaching_1-box {
  padding-inline: var(--size-600);
  margin-bottom: var(--size-500);
}

.teaching_1-box-1, .teaching__2-box-2 { background-color: var(--clr-accent-100); }
.teaching_1-box-2, .teaching__2-box-3 { background-color: var(--clr-accent-100); }
.teaching_1-box-3, .teaching__2-box-1{ background-color: var(--clr-accent-100); }

/* Mobile => Teaching 2 */
.teaching__2-inline-part img {
  margin-bottom: var(--size-700);
  margin-inline: auto;
  padding-inline: var(--size-600);
}

.teaching__2-inline-part > div {
  margin-bottom: var(--size-500);
}

.teaching_2-blob-1::before {
  content: '';
  position: absolute;
  z-index: -1;
  right: 0;
  width: 538px;
  height: 707px;
  background-image: url("img/blob4.svg");
  display: block;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: top right;
  opacity: .4;
}

.teaching_2-blob-2::before {
  content: '';
  position: absolute;
  left: 0;
  z-index: -1;
  width: 100%;
  aspect-ratio: 1 / 2.5;
  background-image: url("img/blob3.svg");
  display: block;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center top;
  opacity: .4;
  transform: translateY(100px);
}

/* Mobile => Prices */
.price-title {
  font-size: 1.5rem;
  font-weight: var(--fw-black);
}

.price-type {
  opacity: .3;
  font-size: var(--fs-500);
  font-weight: var(--fw-bold);
}

.price-list {
  list-style: none;
}

.price-list > li {
  margin-left: 1rem;
}

.price {
  max-width: 30rem;
}

.prices-grid {
  margin-left: -1.75rem;
}

.price-1 {
  background-color: var(--clr-accent-100);
}

.price-2 {
  background-color: var(--clr-accent-100);
}

.price-3 {
  background-color: var(--clr-accent-100);
}

/* Mobile => About */
.about-image-wrapper > img {
  padding-top: var(--size-400);
  width: 65%;
  margin: 0 auto;
}

.about-image-wrapper {
  background: linear-gradient(0deg, var(--clr-accent-100) 0%, var(--clr-neutral-300) 80%);
}

.about-bottom-wave {
  position: absolute;
  left: 0;
  z-index: -1;
  transform: rotate(180deg) translateY(17px);
}

.about-inner {
  padding-top: var(--size-600);
  background-color: var(--clr-accent-100);
}

.about-box > p {
  margin-bottom: var(--size-400);
}

/* Mobile => Reference */
.reference-box__span::after {
  content: url(img/quote-right-solid.svg);
  display: inline-flex;
  position: relative;
  margin-top: var(--size-300);
  margin-right: var(--size-400);
  width: 48px;
  height: 42px;
  opacity: .5;
  z-index: 0;
}

.reference-box__text > span {
  position: relative;
  z-index: 1;
}

.reference-box__text::before {
  content: url(img/quote-right-solid.svg);
  display: inline-flex;
  position: absolute;
  transform: rotate(180deg);
  width: 48px;
  height: 42px;
  opacity: .5;
  z-index: 0;
  bottom: var(--size-400);
}

.reference-list {
  list-style: none;
  display: flex;
  align-items: flex-start;
}

.reference-list > li {
  margin-left: 1rem;
}

.splide__arrows > button {
  margin-top: var(--size-600);
}

/* Mobile => Contact */
.input-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.input {
  margin-bottom: var(--size-500);
  width: 21.75rem;
  height: 3.5rem;
  border-radius: var(--size-300);
  -webkit-border-radius: var(--size-300);
  outline: 0;
  border: 2px solid var(--clr-accent-200);
  background: var(--clr-neutral-200);
  font-size: var(--fs-500);
  padding-left: 1.125rem;
  order: 2;
}

.error {
  border-color: #f00101;
}

.error-text {
  position: absolute;
  transform: translateY(-50px);
  color: #f00101;
  font-size: var(--fs-300);
  order: 1;
}

.error-text-2 {
  position: absolute;
  transform: translateY(-83px);
  color: #f00101;
  font-size: var(--fs-300);
  order: 1;
}

.error-text-3 {
  position: absolute;
  transform: translateY(-76px);
  color: #f00101;
  font-size: var(--fs-300);
  order: 1;
}

.error-text-4 {
  position: absolute;
  transform: translateY(-18px) translateX(8px);
  color: #f00101;
  font-size: var(--fs-300);
  order: 1;
}

@media (max-width: 23.75rem) {
  .input {
      width: 17.272rem;
  }
}

.date {
  max-width: 21.75rem;
  height: 7.8rem;
  padding-block: 0.938rem;
  resize: none;
}

.note {
  max-width: 21.75rem;
  height: 6.6rem;
  padding-block: 0.938rem;
  resize: none;
}

.agree-box {
  margin-bottom: var(--size-500);
  width: 21.75rem;
}

.agree[type="checkbox"] {
  border-color: #7DCA02;
  border-radius: 50%;
}

.submit {
  display: flex;
  justify-content: center;
  margin-bottom: var(--size-600);
}

.submit > input {
  margin-bottom: var(--size-500);
  width: 21.75rem;
  height: 3.5rem;
  border-radius: var(--size-300);
  -webkit-border-radius: var(--size-300);
  outline: 0;
  border: 2px solid var(--clr-accent-200);
  background: var(--clr-neutral-200);
  color: var(--clr-neutral-900);
  font-size: var(--fs-500);
  padding-left: 1.125rem;
  cursor: pointer;
  transition: .3s all ease;
}

.submit > input:is(:focus, :hover) {
  color: var(--clr-neutral-300);
  background: var(--clr-accent-200);
}

/* Mobile ==> footer */
.primary-footer { background-color: var(--clr-footer); }

.primary-footer > .container {
    grid-template-areas:
      "social"
      "logo"
      "copyright";
}

.footer__socials { grid-area: social; }
.footer__title { grid-area: logo; }
.footer__copyright { grid-area: copyright; }

.footer__title {
  color: var(--clr-neutral-300);
}

.footer__socials > li > a, .footer__socials > li > p, .footer__socials > li > svg {
    font-size: var(--fs-300);
    color: var(--clr-neutral-300);
    display: flex;
    justify-content: center;
}

.footer__socials > li > svg {
  margin: 0 auto;
  font-size: var(--fs-700);
  padding-bottom: 1.25rem;
}

.footer__socials > ul {
  display: grid;
  gap: 2rem var(--size-900);
  grid-template-columns: auto;
}

/* Larger screens */ /* Full screen */
@media (min-width: 30em) {
  .landing-contact {
    margin-top: -6rem;
  }

  .about-image-wrapper > img {
    max-width: 50%;
  }
}

@media (min-width: 40em) {
  .teaching__2-inline-part img, .teaching__2-inline-part div {
    width: 60%;
  }

  .reference {
    margin-top: 10rem;
  }
}

@media (min-width: 50em) {
  .about-image-wrapper > img {
    max-width: 40%;
  }
}


@media (min-width: 60em) {
  main, header, footer, .return-to-top {
      position: relative;
      z-index: 2;
  }

  .return-to-top[data-visible] {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    bottom: 0;
    right: 110px;
    transform: translateY(38px);
    height: 36px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: transparent;
    border: 2px solid var(--clr-neutral-900);
    border-radius: 50%;
    font-size: var(--fs-550);
    color: var(--clr-neutral-900);
  }

  .return-to-top[data-visible="true"] { transform: translateY(-25px); }

  .return-to-top[data-visible="visited"] {
      transform: translateY(-25px);
      animation: pop-in-button .4s ease-out;
      animation-timing-function: cubic-bezier(.2,0,.22,1.72);
  }

  .return-to-top[data-visible="false"] {
      animation: pop-out-button .4s ease-out;
      animation-timing-function: cubic-bezier(.2,0,.22,1.72);
  }

  .nav-responsive__button { display: none; }

  .primary-navigation {
      width: auto;
      align-items: center;
      inset: 0;
      padding: 0;
      position: relative;
      background: transparent;
      border-radius: 0;
      transform: translateY(0);
  }

  .primary-navigation > ul > li { margin-bottom: 0; }
  .primary-navigation > ul > li > a { color: var(--clr-neutral-900); }

  .button-contact-wrapper { margin-bottom: 0 !important; }

  .gap { --gap: 0 var(--size-600) }

  .landing-contact {
    margin-top: -8rem;
  }

  .landing-svg3-wrapper::after {
    content: '';
    position: absolute;
    background-color: var(--clr-accent-100);
    width: 100%;
    height: 17rem;
    transform: translateY(-18.5rem);
  }

  .landing-box {
    margin: 0 auto;
  }

  .teaching_1-box-1, .teaching_1-box-3 {
    margin-top: 0;
  }

  .teaching__2-inline-part {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 12rem;
  }

  .teaching__2-inline-part:last-child {
    margin-bottom: 0;
  }

  .teaching__2-inline-part > img {
    height: 18rem;
    transition: .3s all ease-in-out;
  }

  .teaching__2-inline-part img, .teaching__2-inline-part div {
    width: auto;
  }

  .teaching__2-inline-part > img:hover {
    transform: scale(1.02);
  }

  .teaching__2-inline-part > div {
    margin-bottom: 0;
    max-width: 27rem;
  }

  .teaching_2-blob-2::before {
    display: none;
  }

  .teaching_2-blob-1::before {
    background-position: bottom left;
    transform: translateY(400px) scale(2);
  }

  .teaching_2-blob-1::after {
    content: '';
    position: absolute;
    z-index: -1;
    left: 0;
    width: 538px;
    height: 707px;
    background-image: url("img/blob8.svg");
    display: block;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: bottom left;
    opacity: .4;
  }

  .teaching_2-blob-3::before {
    content: '';
    position: absolute;
    z-index: -1;
    left: 0;
    width: 738px;
    height: 907px;
    background-image: url("img/blob5.svg");
    display: block;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: bottom left;
    opacity: .4;
    transform: scale(1.4) translateY(120px);
  }

  .teaching__2-box-4, .teaching__2-box-2 {
    order: 1;
  }

  .prices-container {
      margin: 0 5rem;
  }

  .price-list {
    margin-top: var(--size-600) !important;
    display: flex !important;
    gap: var(--size-800) var(--size-700);
    justify-content: center;
    flex-wrap: wrap;
    margin-inline: 5rem !important;
  }

  .price-list > li {
    margin-left: 0;
  }

  .price {
    max-width: 25rem;
  }

  .prices::before {
    content: '';
    position: absolute;
    z-index: -1;
    right: 0;
    width: 738px;
    height: 907px;
    background-image: url("img/blob6.svg");
    display: block;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: bottom right;
    opacity: .4;
    transform: translateY(150px);
  }

  .prices::after {
    content: '';
    position: absolute;
    z-index: -1;
    left: 0;
    width: 738px;
    height: 907px;
    background-image: url("img/blob2.svg");
    display: block;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: top left;
    opacity: .4;
    transform: translateY(-800px);
  }

  .price-features {
    font-size: var(--fs-400);
  }

  .price-1-b {
    background-color: var(--clr-accent-200);
  }

  .price-2-b {
    background-color: var(--clr-accent-300);
  }

  .price-3-b {
    background-color: var(--clr-accent-200);
  }

  .about::before {
    content: '';
    position: absolute;
    z-index: -1;
    right: 0;
    width: 738px;
    height: 907px;
    background-image: url("img/blob.svg");
    display: block;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: top right;
    opacity: .4;
    transform: translateY(-200px);
  }

  .about-image-wrapper {
    order: 2;
    background: transparent;
  }

  .about-image-wrapper > img {
    max-width: 65%;
    transition: .3s all ease-in-out;
  }

  .about-image-wrapper > img:hover {
    transform: scale(1.02);
  }

  .about-inner {
    max-width: 50%;
    border-radius: 1.4rem;
    transition: .3s all ease-in-out;
  }

  .about-inner:hover {
    transform: scale(1.02);
  }

  .about-bottom-wave {
    display: none;
  }

  .reference::before {
    content: '';
    position: absolute;
    z-index: -1;
    left: 0;
    width: 738px;
    height: 907px;
    background-image: url("img/blob5.svg");
    display: block;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: top left;
    opacity: .4;
    transform: translateY(-200px);
  }


  .reference::after {
    content: '';
    position: absolute;
    z-index: -1;
    right: 0;
    width: 738px;
    height: 907px;
    background-image: url("img/blob4.svg");
    display: block;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: top right;
    opacity: .4;
    transform: translateY(-120px);
  }

  .reference-box {
    width: 110%;
  }

  .reference-container > .splide__track {
    width: 30rem;
    margin: auto;
  }

  .reference-box:hover {
    transform: scale(1);
  }

  .splide__arrow--next {
    right: 8em;
  }

  .splide__arrow--prev {
    left: 8em;
  }

  .contact::before {
    content: '';
    position: absolute;
    z-index: -1;
    left: 0;
    width: 828px;
    height: 800px;
    background-image: url("img/blob7.svg");
    display: block;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: bottom left;
    opacity: .4;
    transform: scale(1.4) translateY(20px);
  }

  .primary-footer {
    margin-top: var(--size-900);
  }
}

@media (min-width: 70em) {
  .landing-contact, .landing-box-wrapper {
    transform: translateY(-3rem);
  }

  .reference::after {
    transform: translateY(0);
  }

  .splide__arrow--next {
    right: 12em;
  }

  .splide__arrow--prev {
    left: 12em;
  }
}

@media (min-width: 75em) {
  .landing-contact, .landing-box-wrapper {
    transform: translateY(-6rem);
  }
}

@media (min-width: 90em) {
  .splide__arrow--next {
    right: 20em;
  }

  .splide__arrow--prev {
    left: 20em;
  }
}

.price-best {
    outline: 3px solid #e11a1a;
    outline-offset: 4px;
    background-color: var(--clr-accent-100);
}

.price-best-text {
    font-size: 1.6rem;
    color: #da2e2e;
    opacity: 1;
}

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

.container {
  width: min(var(--max-width), 100% - (var(--container-padding) * 2));
  margin-inline: auto;
}

@media (min-width: 60em) {
  .screen-container {
    --max-width: 1440px;
    --container-padding: 1rem;

    width: min(var(--max-width), 100% - (var(--container-padding) * 2));
    margin-inline: auto;
  }
}

.sm-display-none { display: none; }
.sm-display-block { display: block; }
.sm-display-inline-flex { display: inline-flex; }

.sm-display-flex {
  display: flex;
  gap: var(--gap, 1rem);
}

.sm-display-grid { /* Even Columns */
  display: grid;
  gap: var(--gap, 1rem);
}

.sm-justify-content-start { justify-content: flex-start; }
.sm-justify-content-center { justify-content: center; }
.sm-justify-content-end { justify-content: flex-end; }
.sm-justify-content-between { justify-content: space-between; }

.sm-justify-items-start { justify-items: flex-start }
.sm-justify-items-center { justify-content: center; }
.sm-justify-items-end { justify-content: flex-end; }

.sm-justify-self-start { justify-self: start; }
.sm-justify-self-center { justify-self: center; }
.sm-justify-self-end { justify-self: end; }

.sm-align-items-start { align-items: flex-start; }
.sm-align-items-center { align-items: center; }
.sm-align-items-end { align-items: flex-end; }

.sm-align-self-start { align-self: flex-start; }
.sm-align-self-center { align-self: center; }
.sm-align-self-end { align-self: flex-end; }

.sm-text-align-left { text-align: left; }
.sm-text-align-center { text-align: center; }
.sm-text-align-right { text-align: right; }

.sm-text-align-left { text-align: left; }
.sm-text-align-center { text-align: center; }
.sm-text-align-right { text-align: right; }

.sm-fs-100 { font-size: var(--fs-100); }
.sm-fs-200 { font-size: var(--fs-200); }
.sm-fs-300 { font-size: var(--fs-300); }
.sm-fs-400 { font-size: var(--fs-400); }
.sm-fs-500 { font-size: var(--fs-500); }
.sm-fs-550 { font-size: var(--fs-550); }
.sm-fs-600 { font-size: var(--fs-600); }
.sm-fs-700 { font-size: var(--fs-700); }
.sm-fs-800 { font-size: var(--fs-800); }
.sm-fs-900 { font-size: var(--fs-900); }

.sm-margin-auto { margin-inline: auto; }

.sm-margin-100 { margin: var(--size-100); }
.sm-margin-200 { margin: var(--size-200); }
.sm-margin-300 { margin: var(--size-300); }
.sm-margin-400 { margin: var(--size-400); }
.sm-margin-500 { margin: var(--size-500); }
.sm-margin-600 { margin: var(--size-600); }
.sm-margin-700 { margin: var(--size-700); }
.sm-margin-800 { margin: var(--size-800); }
.sm-margin-900 { margin: var(--size-900); }

.sm-margin-block-100 { margin-block: var(--size-100); }
.sm-margin-block-200 { margin-block: var(--size-200); }
.sm-margin-block-300 { margin-block: var(--size-300); }
.sm-margin-block-400 { margin-block: var(--size-400); }
.sm-margin-block-500 { margin-block: var(--size-500); }
.sm-margin-block-600 { margin-block: var(--size-600); }
.sm-margin-block-700 { margin-block: var(--size-700); }
.sm-margin-block-800 { margin-block: var(--size-800); }
.sm-margin-block-900 { margin-block: var(--size-900); }

.sm-margin-inline-100 { margin-inline: var(--size-100); }
.sm-margin-inline-200 { margin-inline: var(--size-200); }
.sm-margin-inline-300 { margin-inline: var(--size-300); }
.sm-margin-inline-400 { margin-inline: var(--size-400); }
.sm-margin-inline-500 { margin-inline: var(--size-500); }
.sm-margin-inline-600 { margin-inline: var(--size-600); }
.sm-margin-inline-700 { margin-inline: var(--size-700); }
.sm-margin-inline-800 { margin-inline: var(--size-800); }
.sm-margin-inline-900 { margin-inline: var(--size-900); }

.sm-margin-top-100 { margin-top: var(--size-100); }
.sm-margin-top-200 { margin-top: var(--size-200); }
.sm-margin-top-300 { margin-top: var(--size-300); }
.sm-margin-top-400 { margin-top: var(--size-400); }
.sm-margin-top-500 { margin-top: var(--size-500); }
.sm-margin-top-600 { margin-top: var(--size-600); }
.sm-margin-top-700 { margin-top: var(--size-700); }
.sm-margin-top-800 { margin-top: var(--size-800); }
.sm-margin-top-900 { margin-top: var(--size-900); }

.sm-margin-left-100 { margin-left: var(--size-100); }
.sm-margin-left-200 { margin-left: var(--size-200); }
.sm-margin-left-300 { margin-left: var(--size-300); }
.sm-margin-left-400 { margin-left: var(--size-400); }
.sm-margin-left-500 { margin-left: var(--size-500); }
.sm-margin-left-600 { margin-left: var(--size-600); }
.sm-margin-left-700 { margin-left: var(--size-700); }
.sm-margin-left-800 { margin-left: var(--size-800); }
.sm-margin-left-900 { margin-left: var(--size-900); }

.sm-margin-bottom-100 { margin-bottom: var(--size-100); }
.sm-margin-bottom-200 { margin-bottom: var(--size-200); }
.sm-margin-bottom-300 { margin-bottom: var(--size-300); }
.sm-margin-bottom-400 { margin-bottom: var(--size-400); }
.sm-margin-bottom-500 { margin-bottom: var(--size-500); }
.sm-margin-bottom-600 { margin-bottom: var(--size-600); }
.sm-margin-bottom-700 { margin-bottom: var(--size-700); }
.sm-margin-bottom-800 { margin-bottom: var(--size-800); }
.sm-margin-bottom-900 { margin-bottom: var(--size-900); }

.sm-margin-right-100 { margin-right: var(--size-100); }
.sm-margin-right-200 { margin-right: var(--size-200); }
.sm-margin-right-300 { margin-right: var(--size-300); }
.sm-margin-right-400 { margin-right: var(--size-400); }
.sm-margin-right-500 { margin-right: var(--size-500); }
.sm-margin-right-600 { margin-right: var(--size-600); }
.sm-margin-right-700 { margin-right: var(--size-700); }
.sm-margin-right-800 { margin-right: var(--size-800); }
.sm-margin-right-900 { margin-right: var(--size-900); }

.sm-padding-100 { padding: var(--size-100); }
.sm-padding-200 { padding: var(--size-200); }
.sm-padding-300 { padding: var(--size-300); }
.sm-padding-400 { padding: var(--size-400); }
.sm-padding-500 { padding: var(--size-500); }
.sm-padding-600 { padding: var(--size-600); }
.sm-padding-700 { padding: var(--size-700); }
.sm-padding-800 { padding: var(--size-800); }
.sm-padding-900 { padding: var(--size-900); }

.sm-padding-block-100 { padding-block: var(--size-100); }
.sm-padding-block-200 { padding-block: var(--size-200); }
.sm-padding-block-300 { padding-block: var(--size-300); }
.sm-padding-block-400 { padding-block: var(--size-400); }
.sm-padding-block-500 { padding-block: var(--size-500); }
.sm-padding-block-600 { padding-block: var(--size-600); }
.sm-padding-block-700 { padding-block: var(--size-700); }
.sm-padding-block-800 { padding-block: var(--size-800); }
.sm-padding-block-900 { padding-block: var(--size-900); }

.sm-padding-inline-100 { padding-inline: var(--size-100); }
.sm-padding-inline-200 { padding-inline: var(--size-200); }
.sm-padding-inline-300 { padding-inline: var(--size-300); }
.sm-padding-inline-400 { padding-inline: var(--size-400); }
.sm-padding-inline-500 { padding-inline: var(--size-500); }
.sm-padding-inline-600 { padding-inline: var(--size-600); }
.sm-padding-inline-700 { padding-inline: var(--size-700); }
.sm-padding-inline-800 { padding-inline: var(--size-800); }
.sm-padding-inline-900 { padding-inline: var(--size-900); }

.sm-padding-top-100 { padding-top: var(--size-100); }
.sm-padding-top-200 { padding-top: var(--size-200); }
.sm-padding-top-300 { padding-top: var(--size-300); }
.sm-padding-top-400 { padding-top: var(--size-400); }
.sm-padding-top-500 { padding-top: var(--size-500); }
.sm-padding-top-600 { padding-top: var(--size-600); }
.sm-padding-top-700 { padding-top: var(--size-700); }
.sm-padding-top-800 { padding-top: var(--size-800); }
.sm-padding-top-900 { padding-top: var(--size-900); }

.sm-padding-left-100 { padding-left: var(--size-100); }
.sm-padding-left-200 { padding-left: var(--size-200); }
.sm-padding-left-300 { padding-left: var(--size-300); }
.sm-padding-left-400 { padding-left: var(--size-400); }
.sm-padding-left-500 { padding-left: var(--size-500); }
.sm-padding-left-600 { padding-left: var(--size-600); }
.sm-padding-left-700 { padding-left: var(--size-700); }
.sm-padding-left-800 { padding-left: var(--size-800); }
.sm-padding-left-900 { padding-left: var(--size-900); }

.sm-padding-bottom-100 { padding-bottom: var(--size-100); }
.sm-padding-bottom-200 { padding-bottom: var(--size-200); }
.sm-padding-bottom-300 { padding-bottom: var(--size-300); }
.sm-padding-bottom-400 { padding-bottom: var(--size-400); }
.sm-padding-bottom-500 { padding-bottom: var(--size-500); }
.sm-padding-bottom-600 { padding-bottom: var(--size-600); }
.sm-padding-bottom-700 { padding-bottom: var(--size-700); }
.sm-padding-bottom-800 { padding-bottom: var(--size-800); }
.sm-padding-bottom-900 { padding-bottom: var(--size-900); }

.sm-padding-right-100 { padding-right: var(--size-100); }
.sm-padding-right-200 { padding-right: var(--size-200); }
.sm-padding-right-300 { padding-right: var(--size-300); }
.sm-padding-right-400 { padding-right: var(--size-400); }
.sm-padding-right-500 { padding-right: var(--size-500); }
.sm-padding-right-600 { padding-right: var(--size-600); }
.sm-padding-right-700 { padding-right: var(--size-700); }
.sm-padding-right-800 { padding-right: var(--size-800); }
.sm-padding-right-900 { padding-right: var(--size-900); }

@media (min-width: 60em) {
  .display-none { display: none; }
  .display-block { display: block; }
  .display-inline-flex { display: inline-flex; }

  .display-flex {
      display: flex;
      gap: var(--gap, 1rem);
  }

  .display-grid { /* Even Columns */
      display: grid;
      gap: var(--gap, 1rem);
  }

  .justify-content-start { justify-content: flex-start; }
  .justify-content-center { justify-content: center; }
  .justify-content-end { justify-content: flex-end; }
  .justify-content-between { justify-content: space-between; }

  .justify-items-start { justify-items: flex-start }
  .justify-items-center { justify-content: center; }
  .justify-items-end { justify-content: flex-end; }

  .justify-self-start { justify-self: start; }
  .justify-self-center { justify-self: center; }
  .justify-self-end { justify-self: end; }

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

  .align-self-start { align-self: flex-start; }
  .align-self-center { align-self: center; }
  .align-self-end { align-self: flex-end; }

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

  .fs-100 { font-size: var(--fs-100); }
  .fs-200 { font-size: var(--fs-200); }
  .fs-300 { font-size: var(--fs-300); }
  .fs-400 { font-size: var(--fs-400); }
  .fs-500 { font-size: var(--fs-500); }
  .fs-550 { font-size: var(--fs-550); }
  .fs-600 { font-size: var(--fs-600); }
  .fs-700 { font-size: var(--fs-700); }
  .fs-800 { font-size: var(--fs-800); }
  .fs-900 { font-size: var(--fs-900); }

  .margin-auto { margin-inline: auto; }

  .margin-100 { margin: var(--size-100); }
  .margin-200 { margin: var(--size-200); }
  .margin-300 { margin: var(--size-300); }
  .margin-400 { margin: var(--size-400); }
  .margin-500 { margin: var(--size-500); }
  .margin-600 { margin: var(--size-600); }
  .margin-700 { margin: var(--size-700); }
  .margin-800 { margin: var(--size-800); }
  .margin-900 { margin: var(--size-900); }

  .margin-block-100 { margin-block: var(--size-100); }
  .margin-block-200 { margin-block: var(--size-200); }
  .margin-block-300 { margin-block: var(--size-300); }
  .margin-block-400 { margin-block: var(--size-400); }
  .margin-block-500 { margin-block: var(--size-500); }
  .margin-block-600 { margin-block: var(--size-600); }
  .margin-block-700 { margin-block: var(--size-700); }
  .margin-block-800 { margin-block: var(--size-800); }
  .margin-block-900 { margin-block: var(--size-900); }

  .margin-inline-100 { margin-inline: var(--size-100); }
  .margin-inline-200 { margin-inline: var(--size-200); }
  .margin-inline-300 { margin-inline: var(--size-300); }
  .margin-inline-400 { margin-inline: var(--size-400); }
  .margin-inline-500 { margin-inline: var(--size-500); }
  .margin-inline-600 { margin-inline: var(--size-600); }
  .margin-inline-700 { margin-inline: var(--size-700); }
  .margin-inline-800 { margin-inline: var(--size-800); }
  .margin-inline-900 { margin-inline: var(--size-900); }

  .margin-top-100 { margin-top: var(--size-100); }
  .margin-top-200 { margin-top: var(--size-200); }
  .margin-top-300 { margin-top: var(--size-300); }
  .margin-top-400 { margin-top: var(--size-400); }
  .margin-top-500 { margin-top: var(--size-500); }
  .margin-top-600 { margin-top: var(--size-600); }
  .margin-top-700 { margin-top: var(--size-700); }
  .margin-top-800 { margin-top: var(--size-800); }
  .margin-top-900 { margin-top: var(--size-900); }

  .margin-left-100 { margin-left: var(--size-100); }
  .margin-left-200 { margin-left: var(--size-200); }
  .margin-left-300 { margin-left: var(--size-300); }
  .margin-left-400 { margin-left: var(--size-400); }
  .margin-left-500 { margin-left: var(--size-500); }
  .margin-left-600 { margin-left: var(--size-600); }
  .margin-left-700 { margin-left: var(--size-700); }
  .margin-left-800 { margin-left: var(--size-800); }
  .margin-left-900 { margin-left: var(--size-900); }

  .margin-bottom-100 { margin-bottom: var(--size-100); }
  .margin-bottom-200 { margin-bottom: var(--size-200); }
  .margin-bottom-300 { margin-bottom: var(--size-300); }
  .margin-bottom-400 { margin-bottom: var(--size-400); }
  .margin-bottom-500 { margin-bottom: var(--size-500); }
  .margin-bottom-600 { margin-bottom: var(--size-600); }
  .margin-bottom-700 { margin-bottom: var(--size-700); }
  .margin-bottom-800 { margin-bottom: var(--size-800); }
  .margin-bottom-900 { margin-bottom: var(--size-900); }

  .margin-right-100 { margin-right: var(--size-100); }
  .margin-right-200 { margin-right: var(--size-200); }
  .margin-right-300 { margin-right: var(--size-300); }
  .margin-right-400 { margin-right: var(--size-400); }
  .margin-right-500 { margin-right: var(--size-500); }
  .margin-right-600 { margin-right: var(--size-600); }
  .margin-right-700 { margin-right: var(--size-700); }
  .margin-right-800 { margin-right: var(--size-800); }
  .margin-right-900 { margin-right: var(--size-900); }

  .padding-100 { padding: var(--size-100); }
  .padding-200 { padding: var(--size-200); }
  .padding-300 { padding: var(--size-300); }
  .padding-400 { padding: var(--size-400); }
  .padding-500 { padding: var(--size-500); }
  .padding-600 { padding: var(--size-600); }
  .padding-700 { padding: var(--size-700); }
  .padding-800 { padding: var(--size-800); }
  .padding-900 { padding: var(--size-900); }

  .padding-block-100 { padding-block: var(--size-100); }
  .padding-block-200 { padding-block: var(--size-200); }
  .padding-block-300 { padding-block: var(--size-300); }
  .padding-block-400 { padding-block: var(--size-400); }
  .padding-block-500 { padding-block: var(--size-500); }
  .padding-block-600 { padding-block: var(--size-600); }
  .padding-block-700 { padding-block: var(--size-700); }
  .padding-block-800 { padding-block: var(--size-800); }
  .padding-block-900 { padding-block: var(--size-900); }

  .padding-inline-100 { padding-inline: var(--size-100); }
  .padding-inline-200 { padding-inline: var(--size-200); }
  .padding-inline-300 { padding-inline: var(--size-300); }
  .padding-inline-400 { padding-inline: var(--size-400); }
  .padding-inline-500 { padding-inline: var(--size-500); }
  .padding-inline-600 { padding-inline: var(--size-600); }
  .padding-inline-700 { padding-inline: var(--size-700); }
  .padding-inline-800 { padding-inline: var(--size-800); }
  .padding-inline-900 { padding-inline: var(--size-900); }

  .padding-top-100 { padding-top: var(--size-100); }
  .padding-top-200 { padding-top: var(--size-200); }
  .padding-top-300 { padding-top: var(--size-300); }
  .padding-top-400 { padding-top: var(--size-400); }
  .padding-top-500 { padding-top: var(--size-500); }
  .padding-top-600 { padding-top: var(--size-600); }
  .padding-top-700 { padding-top: var(--size-700); }
  .padding-top-800 { padding-top: var(--size-800); }
  .padding-top-900 { padding-top: var(--size-900); }

  .padding-left-100 { padding-left: var(--size-100); }
  .padding-left-200 { padding-left: var(--size-200); }
  .padding-left-300 { padding-left: var(--size-300); }
  .padding-left-400 { padding-left: var(--size-400); }
  .padding-left-500 { padding-left: var(--size-500); }
  .padding-left-600 { padding-left: var(--size-600); }
  .padding-left-700 { padding-left: var(--size-700); }
  .padding-left-800 { padding-left: var(--size-800); }
  .padding-left-900 { padding-left: var(--size-900); }

  .padding-bottom-100 { padding-bottom: var(--size-100); }
  .padding-bottom-200 { padding-bottom: var(--size-200); }
  .padding-bottom-300 { padding-bottom: var(--size-300); }
  .padding-bottom-400 { padding-bottom: var(--size-400); }
  .padding-bottom-500 { padding-bottom: var(--size-500); }
  .padding-bottom-600 { padding-bottom: var(--size-600); }
  .padding-bottom-700 { padding-bottom: var(--size-700); }
  .padding-bottom-800 { padding-bottom: var(--size-800); }
  .padding-bottom-900 { padding-bottom: var(--size-900); }

  .padding-right-100 { padding-right: var(--size-100); }
  .padding-right-200 { padding-right: var(--size-200); }
  .padding-right-300 { padding-right: var(--size-300); }
  .padding-right-400 { padding-right: var(--size-400); }
  .padding-right-500 { padding-right: var(--size-500); }
  .padding-right-600 { padding-right: var(--size-600); }
  .padding-right-700 { padding-right: var(--size-700); }
  .padding-right-800 { padding-right: var(--size-800); }
  .padding-right-900 { padding-right: var(--size-900); }
}

.text-primary-400 { color: var(--clr-primary-400); }
.text-neutral-100 { color: var(--clr-neutral-100); }
.text-neutral-200 { color: var(--clr-neutral-200); }
.text-neutral-300 { color: var(--clr-neutral-300); }
.text-neutral-400 { color: var(--clr-neutral-400); }
.text-neutral-800 { color: var(--clr-neutral-800); }
.text-neutral-900 { color: var(--clr-neutral-900); }

.bg-primary-400 { background-color: var(--clr-primary-400); }
.bg-neutral-100 { background-color: var(--clr-neutral-100); }
.bg-neutral-200 { background-color: var(--clr-neutral-200); }
.bg-neutral-300 { background-color: var(--clr-neutral-300); }
.bg-neutral-400 { background-color: var(--clr-neutral-400); }
.bg-neutral-800 { background-color: var(--clr-neutral-800); }
.bg-neutral-900 { background-color: var(--clr-neutral-900); }

.fw-bold { font-weight: var(--fw-bold); }
.fw-medium { font-weight: var(--fw-medium); }
.fw-regular { font-weight: var(--fw-regular); }
.fw-semi-bold { font-weight: var(--fw-semi-bold); }
.fw-black { font-weight: var(--fw-black); }

.ff-primary { font-family: var(--ff-primary); }
.ff-secondary { font-family: var(--ff-primary); }

.fs-primary-heading {
  font-size: var(--fs-primary-heading);
  line-height: 1.2;
}

.fs-secondary-heading {
  font-size: var(--fs-secondary-heading);
  line-height: 1.2;
}

.line-height-13 {
  line-height: 1.3;
}

/* Animations */
@keyframes rotate {
  from {
      rotate: 0deg;
  }

  50% {
      scale: 1 1.5;
  }

  to {
      rotate: 360deg;
  }
}

@keyframes pop-in-button {
  from {
      transform: translateY(38px);
  }

  to {
      transform: translateY(-25px);
  }
}

@keyframes pop-out-button {
  from {
      transform: translateY(-25px);
  }

  to {
      transform: translateY(38px);
  }
}

@keyframes text-slide-in {
  from {
      transform: translate(50px, 12px);
      opacity: 0;
  }

  18% {
      opacity: 0;
  }

  75% {
      opacity: 1;
  }

  to {
      transform: translate(-120px, 12px);
  }
}

@keyframes text-slide-out {
  from {
      transform: translate(-120px, 12px);
      opacity: 1;
  }

  20% {
      opacity: 0;
  }

  to {
      transform: translate(50px, 12px);
  }
}

@keyframes slide-in {
  from {
      transform: translateY(-135%);
  }

  to {
      transform: translateY(0%);
  }
}

@keyframes slide-out {
  from {
      transform: translateY(0%);
  }

  to {
      transform: translateY(-135%);
  }
}

@keyframes slide-in-side-left {
  from {
      transform: translateX(-185%) translateY(-20px);
  }

  to {
      transform: translateX(0%) translateY(-20px);
  }
}

@keyframes slide-out-side-left {
  from {
      transform: translateX(0%) translateY(-20px);
  }

  to {
      transform: translateX(-185%) translateY(-20px);
  }
}

@keyframes slide-in-side-right {
  from {
      transform: translate(55%, -150px) rotateZ(-90deg);
  }

  to {
      transform: translate(93px, -150px) rotateZ(-90deg);
  }
}

@keyframes slide-out-side-right {
  from {
      right: 0;
      transform: translate(93px, -150px) rotateZ(-90deg);
  }

  to {
      transform: translate(55%, -150px) rotateZ(-90deg);
  }
}
