:root {
  --color-primary: #254099;
  --color-black: #333333;
  --color-gray: #666666;
  --color-gray1: #777777;
  --color-navy: #41485C;
  --color-line: #DEDEDE;
  --color-color3: #F6F8FF;
  --color-red: #E51D5E;
  --color-background: #F5F5F5;
  --color-background1: #252525;
}
.bg-primary { background-color: var(--color-primary); }
.bg-black { background-color: var(--color-black); }
.bg-gray { background-color: var(--color-gray); }
.bg-gray1 { background-color: var(--color-gray1); }
.bg-navy { background-color: var(--color-navy); }
.bg-line { background-color: var(--color-line); }
.bg-color3 { background-color: var(--color-color3); }
.bg-red { background-color: var(--color-red); }
.bg-background { background-color: var(--color-background); }
.bg-background1 { background-color: var(--color-background1); }
.text-primary { color: var(--color-primary); }
.text-black { color: var(--color-black); }
.text-gray { color: var(--color-gray); }
.text-gray1 { color: var(--color-gray1); }
.text-navy { color: var(--color-navy); }
.text-line { color: var(--color-line); }
.text-color3 { color: var(--color-color3); }
.text-red { color: var(--color-red); }
.text-background { color: var(--color-background); }
.text-background1 { color: var(--color-background1); }
.border-primary { border-color: var(--color-primary); }
.border-black { border-color: var(--color-black); }
.border-gray { border-color: var(--color-gray); }
.border-gray1 { border-color: var(--color-gray1); }
.border-navy { border-color: var(--color-navy); }
.border-line { border-color: var(--color-line); }
.border-color3 { border-color: var(--color-color3); }
.border-red { border-color: var(--color-red); }
.border-background { border-color: var(--color-background); }
.border-background1 { border-color: var(--color-background1); }
.text-custom-title {
  font-family: "Montserrat", sans-serif;
  font-size: 54px;
  font-weight: bold;
  line-height: 120%;
}
@media (max-width: 768px) {
  .text-custom-title { font-size: 28px; }
}
.text-custom-h1 {
  font-size: 36px;
  font-weight: bold;
  line-height: 130%;
  letter-spacing: -0.06em;
}
@media (max-width: 768px) {
  .text-custom-h1 { font-size: 24px; }
}
.text-custom-h2 {
  font-size: 20px;
  font-weight: bold;
  line-height: 160%;
  letter-spacing: -0.06em;
}
@media (max-width: 768px) {
  .text-custom-h2 { font-size: 20px; line-height: 140%; }
}
@media (max-width: 400px) {
  .text-custom-h2 { font-size: 16px; line-height: 140%; }
}
.text-custom-h3 {
  font-size: 18px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: -0.72px;
}
@media (max-width: 1280px) {
  .text-custom-h3 { font-size: 16px; }
}
.text-custom-medium {
  font-size: 18px;
  font-weight: 600;
}
.text-custom-body {
  font-size: 18px;
  letter-spacing: -0.06em;
}
@media (max-width: 768px) {
  .text-custom-body { font-size: 16px; }
}
.text-custom-small-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 120%;
}
@media (max-width: 768px) {
  .text-custom-small-title { font-size: 16px; }
}
.text-custom-small {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.04em;
}
@media (max-width: 768px) {
  .text-custom-small { font-size: 14px; }
}
