@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@200..1000&family=Poppins:wght@400;500;600;700&display=swap');

  * {
    --color-white: #FFFFFF;
    --color-sniw: #A2ABC6;
    --color-black: #2C2F39;
    --color-orange: #F35B56;
    --color-blue: #597FED;
    --color-primary: var(--color-orange);
    --font-poppins: 'Poppins', sans-serif;
    --font-cairo: "Cairo", serif;

    --font-size-xxs: 0.625rem;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-md: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-xxl: 1.625rem;
    --font-size-xxxl: 1.5rem;
    --font-size-2xxl: 1.875rem;
    --font-size-3xxl: 2.25rem;
    --font-size-4xxl: 3rem;
    --font-size-5xxl: 3.125rem;
    --font-size-6xxl: 3.5rem;
    --font-size-7xxl: 4.5rem;

    --heading-1: var(--font-size-2xxl);
    --heading-2: var(--font-size-xxl);
    --heading-3: var(--font-size-lg);
    --text-large: var(--font-size-lg);
    --paragraph-size: var(--font-size-md);
    --button-text-size: var(--font-size-lg);
    --text-huge: var(--font-size-4xxl);

    @media screen and (min-width: 768px) {
      --heading-1: var(--font-size-3xxl);
      --heading-2: var(--font-size-2xxl);
      --heading-3: var(--font-size-xl);
      --text-large: var(--font-size-xl);
      --paragraph-size: var(--font-size-lg);
      --button-text-size: var(--font-size-xl);
      --text-huge: var(--font-size-7xxl);
    }

    /* @media screen and (min-width: 1024px) {
      --heading-1: var(--font-size-5xxl);
      --heading-2: var(--font-size-4xxl);
      --heading-3: var(--font-size-2xxl);
      --text-large: var(--font-size-xxl);
      --paragraph-size: var(--font-size-lg);
      --button-text-size: var(--font-size-xxxl);
      --text-huge: var(--font-size-7xxl);
    } */
  }

  html {
    scroll-behavior: smooth;
  }

  body {
    font-family: var(--font-poppins);
  }
  
  section {
    position: relative;
  }

  .header {
    height: 5.625rem;
    display: flex;
    align-items: flex-end;
  }

  .header--align-start {
    align-items: flex-start;
  }

  .header--left {
    width: 100%;
    justify-content: flex-start;
  }

  .header--right {
    justify-content: flex-end;
  }

  .rounded-main-container {
    background-color: var(--color-black);
    border-top-left-radius: 1.5rem;
    border-top-right-radius: 1.5rem;
    margin-top: -3.5rem;
    padding: 4.5rem 0 2.5rem;

    @media screen and (min-width: 1024px) {
      border-top-left-radius: 3.75rem;
      border-top-right-radius: 3.75rem;

      padding: 7.5rem 0rem;
    }
  }

  .rounded-main-container--white {
    background-color: var(--color-white);
  }

  .rounded-main-container--padding-sm {
    padding: 2.5rem 0;
  }

  .rounded-main-container__with-bg-image {
    background-image: var(--bg-image);
    background-repeat: no-repeat; 
    background-position: center; 
    background-size: 50rem;
  }

  .hero__backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;

    & img {
      filter: brightness(0.6);
      object-fit: cover;
      width: 100%;
      height: 100%;
      object-position: top;
    }
  }

  .primitive-container {
    /* width: 100%; */
    max-width: 69.375rem;
    margin: auto;
    padding: 0 1.25rem;

    @media screen and (min-width: 1024px) {
      padding: 0 2.5rem;
    }
  }

  .hero__container {
    width: 100%;
    max-width: 35rem;
    height: 36.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;

    @media screen and (min-width: 1024px) {
      height: 42.5rem;
    }
  }

  .hero__container--center {
    max-width: unset;
    justify-content: flex-start;
    padding-top: 6rem;
    align-items: center;
    gap: 4.0625rem;
    height: 28.5rem;

    @media screen and (min-width: 1024px) {
      height: 33.5rem;
    }
  }

  .hero__container--left {
    max-width: unset;
    justify-content: flex-start;
    padding-top: 6rem;
    align-items: flex-start;
    gap: 4.0625rem;
    height: 28.5rem;

    @media screen and (min-width: 1024px) {
      height: 36.5rem;
    }
  }

  .hero__container--right {
    max-width: unset;
    justify-content: flex-start;
    padding-top: 6rem;
    align-items: flex-end;
    gap: 4.0625rem;
    height: 28.5rem;

    @media screen and (min-width: 1024px) {
      height: 36.5rem;
    }
  }
  
  .text-center {
    text-align: center;
  }

  .text-huge {
    font-size: var(--text-huge);
    color: var(--color-white);
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
  }

  .text-huge--black {
    color: var(--color-black);
  }

  .heading-1 {
    font-size: var(--heading-1);
    color: var(--color-white);
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
  }

  .heading-1--black {
    color: var(--color-black);
  }

  .heading-2 {
    font-size: var(--heading-2);
    color: var(--color-white);
    font-weight: 700;
    line-height: 1.3;
    margin: 1.25rem 0;
  }

  .heading-2--black {
    color: var(--color-black);
  }

  .heading-3 {
    font-size: var(--heading-3);
    color: var(--color-white);
    font-family: var(--font-cairo);
    font-weight: 700;
    line-height: 1.34;
    margin: 1.25rem 0;
  }

  .heading-3--black {
    color: var(--color-black);
  }

  .primary-button {
    width: max-content;
    background-color: var(--color-primary);
    padding: 0.8rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 700;
    font-size: var(--button-text-size);
    color: var(--color-white);
    cursor: pointer;
    line-height: 1.2;
    outline: none;
    appearance: none;
    border: none;
    box-shadow: 0px 3px 5px 0px #0000001F;
    margin: 0.75rem 0;
  }

  .primary-button.primary-button--sm {
    padding: 0.875rem 2.5rem;
    font-size: var(--font-size-md);

    @media screen and (min-width: 1024px) {
      font-size: var(--font-size-lg);
    }
  }

  .circle-button {
    position: absolute;
    top: -0.5rem;
    left: 50%;
    right: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--color-black);
    border-radius: 50%;
    height: 4.8125rem;
    width: 4.8125rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    outline: none;
    cursor: pointer;
  }

  .text-primary {
    color: var(--color-primary);
  }
