:root {
  --font-sans: "inter";
  --font-mono: "Inconsolata";
  --font-size-base: 1rem;
  --primary-color: 35 96 188;
  --black: 40 40 42;
  --white: 245 245 243;
}
.font-sans {
  font-family: var(--font-sans), sans-serif;
}
.font-mono {
  font-family: var(--font-mono), monospace;
}
.font-heading {
  font-family: pragmatica-extended, sans-serif;
  font-weight: 700;
  font-style: normal;
}
html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
main {
  flex-grow: 1;
}
body {
  font-family: var(--font-sans), sans-serif;
  margin: 0;
  padding: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-size: var(--font-size-base);
  line-height: 1.7;
  background-color: #f5f5f3;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: pragmatica-extended, sans-serif;
  font-weight: 700;
  font-style: normal;
}
strong,
b {
  font-weight: 700;
}
a:hover {
  color: var(--accent);
}
p {
  margin-bottom: 1em;
}
img {
  max-width: 100%;
  height: auto;
}
blockquote {
  padding: 0 0 0 20px;
  margin: 0;
  font-size: 1.333em;
}
hr {
  border: none;
  border-top: 1px solid rgb(var(--gray-light));
}
@media (max-width: 720px) {
  body {
    font-size: 18px;
  }
}
.sr-only {
  border: 0;
  padding: 0;
  margin: 0;
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  white-space: nowrap;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/inter-cyrillic-ext-400-normal.LcnzGR0M.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-ext-400-normal.sxuyq987.woff) format("woff");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,
    U+FE2E-FE2F;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/inter-cyrillic-400-normal.3-nJGiym.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-400-normal.Ca0v-Mpr.woff) format("woff");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/inter-greek-ext-400-normal.iHZa-WCv.woff2) format("woff2"),
    url(/_astro/inter-greek-ext-400-normal.P0a9vVxN.woff) format("woff");
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/inter-greek-400-normal.0F8q5qMq.woff2) format("woff2"),
    url(/_astro/inter-greek-400-normal.7yDxw0Ox.woff) format("woff");
  unicode-range: U+0370-03FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/inter-vietnamese-400-normal.p7dDeVZr.woff2) format("woff2"),
    url(/_astro/inter-vietnamese-400-normal.yDhnxiy6.woff) format("woff");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/inter-latin-ext-400-normal.91vjqTvm.woff2) format("woff2"),
    url(/_astro/inter-latin-ext-400-normal.PLSM5vss.woff) format("woff");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF,
    U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/inter-latin-400-normal.U9R_j0_y.woff2) format("woff2"),
    url(/_astro/inter-latin-400-normal.nYvLeTLv.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_astro/inter-cyrillic-ext-700-normal.jJGHHZMP.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-ext-700-normal.gI-CB94z.woff) format("woff");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,
    U+FE2E-FE2F;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_astro/inter-cyrillic-700-normal.OszV_AZX.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-700-normal.7MSBIDYY.woff) format("woff");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_astro/inter-greek-ext-700-normal.6jhVNhl_.woff2) format("woff2"),
    url(/_astro/inter-greek-ext-700-normal.sKpf5pqv.woff) format("woff");
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_astro/inter-greek-700-normal.OCFD9I8H.woff2) format("woff2"),
    url(/_astro/inter-greek-700-normal.pjmmEf3B.woff) format("woff");
  unicode-range: U+0370-03FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_astro/inter-vietnamese-700-normal.cjuUcuaM.woff2) format("woff2"),
    url(/_astro/inter-vietnamese-700-normal.29IYzf8-.woff) format("woff");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_astro/inter-latin-ext-700-normal.gGtzKlLf.woff2) format("woff2"),
    url(/_astro/inter-latin-ext-700-normal.bu5Rtp3b.woff) format("woff");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF,
    U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_astro/inter-latin-700-normal.ts3xWOyE.woff2) format("woff2"),
    url(/_astro/inter-latin-700-normal.hxZXRi9v.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Space Mono;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/space-mono-vietnamese-400-normal.tYCy0BxN.woff2)
      format("woff2"),
    url(/_astro/space-mono-vietnamese-400-normal.v3FwdlNO.woff) format("woff");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Space Mono;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/space-mono-latin-ext-400-normal.0e2taYTw.woff2)
      format("woff2"),
    url(/_astro/space-mono-latin-ext-400-normal.ht1pbZbx.woff) format("woff");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF,
    U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Space Mono;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/space-mono-latin-400-normal.qO2x-R5v.woff2) format("woff2"),
    url(/_astro/space-mono-latin-400-normal.4cd34o3n.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Inconsolata;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/inconsolata-vietnamese-400-normal.3zKPDl-B.woff2)
      format("woff2"),
    url(/_astro/inconsolata-vietnamese-400-normal.IRV754iC.woff) format("woff");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Inconsolata;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/inconsolata-latin-ext-400-normal.HuZw2hCm.woff2)
      format("woff2"),
    url(/_astro/inconsolata-latin-ext-400-normal.3ngTiviM.woff) format("woff");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF,
    U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Inconsolata;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/inconsolata-latin-400-normal.o70AXgUX.woff2) format("woff2"),
    url(/_astro/inconsolata-latin-400-normal.Xn5JvomB.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Inconsolata;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/_astro/inconsolata-vietnamese-500-normal.xGFUOsKc.woff2)
      format("woff2"),
    url(/_astro/inconsolata-vietnamese-500-normal.KAqtpbTY.woff) format("woff");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Inconsolata;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/_astro/inconsolata-latin-ext-500-normal.hNvQnnJb.woff2)
      format("woff2"),
    url(/_astro/inconsolata-latin-ext-500-normal.ChAnwNz3.woff) format("woff");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF,
    U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Inconsolata;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/_astro/inconsolata-latin-500-normal.nzaGdSdM.woff2) format("woff2"),
    url(/_astro/inconsolata-latin-500-normal.FAyTL5Bo.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Inconsolata;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_astro/inconsolata-vietnamese-600-normal.Xolot0i3.woff2)
      format("woff2"),
    url(/_astro/inconsolata-vietnamese-600-normal.8lsjKVOA.woff) format("woff");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Inconsolata;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_astro/inconsolata-latin-ext-600-normal.Rs0XpZjy.woff2)
      format("woff2"),
    url(/_astro/inconsolata-latin-ext-600-normal.ALGMr1E_.woff) format("woff");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF,
    U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Inconsolata;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_astro/inconsolata-latin-600-normal.UX9BvYD5.woff2) format("woff2"),
    url(/_astro/inconsolata-latin-600-normal.vCU5E7Fn.woff) format("woff");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.brand[data-astro-cid-3ef6ksr2] {
  font-family: pragmatica-extended, sans-serif;
  font-weight: 700;
  font-style: normal;
}
nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active {
  text-decoration: none;
  border-bottom-color: rgb(var(--primary-color));
}
header[data-astro-cid-3ef6ksr2] {
  background-color: #f5f5f3;
  border-bottom: 1px solid black;
}
.hamburger-menu[data-astro-cid-3ef6ksr2] {
  cursor: pointer;
  width: 30px;
  height: 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.bar[data-astro-cid-3ef6ksr2] {
  height: 3px;
  width: 100%;
  background-color: #333;
  transition: all 0.3s ease;
}
.hamburger-menu[data-astro-cid-3ef6ksr2] {
  cursor: pointer;
  width: 30px;
  height: 15px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.bar[data-astro-cid-3ef6ksr2] {
  height: 1.5px;
  width: 100%;
  background-color: #333;
  transition: all 0.3s ease;
}
.menu[data-astro-cid-3ef6ksr2] {
  display: none;
}
.menu[data-astro-cid-3ef6ksr2].active {
  display: block;
}
.top-bar[data-astro-cid-3ef6ksr2].transform {
  transform: translateY(7px) rotate(45deg);
}
.bottom-bar[data-astro-cid-3ef6ksr2].transform {
  transform: translateY(-7px) rotate(-45deg);
}
footer[data-astro-cid-sz7xmlte] .pragmatica-extended[data-astro-cid-sz7xmlte] {
  font-family: pragmatica-extended, sans-serif;
}

.dynamic-text {
  opacity: 0; /* 처음에는 보이지 않게 설정 */
  transform: translateY(20px); /* 아래에서 시작 */
  transition: opacity 1s ease-out, transform 1s ease-out; /* 부드러운 전환 효과 */
}

.dynamic-text.show {
  opacity: 1; /* 보이도록 설정 */
  transform: translateY(0); /* 제자리로 이동 */
}

/* CSS */
@keyframes slideIn {
  from {
    transform: translateY(30px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.fade-in {
  animation: slideIn 1s forwards;
  opacity: 0; /* 처음에는 보이지 않게 */
}
