/*==================================================
LAYOUT
==================================================*/

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
}

/*==================================================
CONTAINER
==================================================*/

.container {
  width: min(1200px, calc(100% - 48px));
  margin-inline: auto;
}

.container-medium {
  width: min(960px, calc(100% - 48px));
  margin-inline: auto;
}

.container-small {
  width: min(760px, calc(100% - 48px));
  margin-inline: auto;
}

/*==================================================
SECTION
==================================================*/

section {
  position: relative;
  padding: 120px 0;
}

.section-light {
  background: var(--white);
}

.section-primary {
  background: var(--primary-soft);
}

/*==================================================
GRID
==================================================*/

.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 64px;
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

/*==================================================
IMAGE
==================================================*/

img {
  display: block;
  max-width: 100%;
  height: auto;
}

/*==================================================
UTILITY
==================================================*/

.text-center {
  text-align: center;
}

.mt-1 {
  margin-top: 16px;
}

.mt-2 {
  margin-top: 32px;
}

.mt-3 {
  margin-top: 48px;
}

.mb-1 {
  margin-bottom: 16px;
}

.mb-2 {
  margin-bottom: 32px;
}

.mb-3 {
  margin-bottom: 48px;
}
