/* BASIC css start */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Pretendard Variable', Pretendard, sans-serif;
    color: #333;
    background-color: #f9f9f9;
    line-height: 1.6;
    scroll-behavior: smooth; /* ºÎµå·¯¿î ½ºÅ©·Ñ È¿°ú */
}

header {
    position: relative;
    height: 100vh;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* Áß¾Ó¿¡ ¹èÄ¡ */
    align-items: center;
    text-align: center;
    color: white;
    overflow: hidden; /* ÆÐ·²·¢½º È¿°ú¸¦ À§ÇØ ¿À¹öÇÃ·Î¿ì ¼û±â±â */
    padding-bottom: 20vh; /* ÅØ½ºÆ®°¡ ³Ê¹« ¾Æ·¡·Î ³»·Á°¡Áö ¾Êµµ·Ï ÆÐµù Ãß°¡ */
}

header img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    transition: transform 0.3s ease-out; /* ½ºÅ©·Ñ ½Ã ºÎµå·¯¿î º¯È¯À» À§ÇØ Æ®·£Áö¼Ç Ãß°¡ */
}

header .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* ´ÙÅ© ¿À¹ö·¹ÀÌ */
    z-index: 1;
}

header .nav-wrapper {
    position: fixed;
    height: 60px;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 5%;
    background: transparent; /* ÃÊ±â ¹è°æ»ö Åõ¸í */
    z-index: 1000; /* z-index °ª Áõ°¡ */
    transition: background 0.3s ease; /* ¹è°æ»ö º¯°æ ¾Ö´Ï¸ÞÀÌ¼Ç */
}

header .nav-wrapper.scrolled {
    background: rgba(0, 0, 0, 0.5); /* ½ºÅ©·Ñ ½Ã ¹è°æ»ö º¯°æ */
}

header .dgrlogo {
    flex: 0 0 auto;
}

header .logo {
    height: 40px; /* ·Î°í Å©±â Á¶Á¤ */
    width: auto; /* ºñÀ²¿¡ ¸Â°Ô °¡·Î ±æÀÌ¸¦ ÀÚµ¿ Á¶Á¤ */
    margin-left: 23%;
    margin-top: 8px;
}

header nav {
    flex: 1;
    display: flex;
    justify-content: flex-end; /* ³×ºñ°ÔÀÌ¼Ç Ç×¸ñÀ» ¿ìÃø Á¤·Ä */
    margin-right: 14%;
}

header nav ul {
    list-style: none;
    display: flex;
    gap: 40px;
    align-items: center; /* Áß°£¿¡ ¹èÄ¡µÇµµ·Ï ¼³Á¤ */
}

header nav ul li a {
    color: white;
    text-decoration: none;
    font-size: 1.2em;
}

header .container {
    z-index: 2;
    padding: 0 20px;
}

header h1 {
    font-family: 'Pretendard Variable', Pretendard, sans-serif;
    font-size: 72px; /* 48Æ÷ÀÎÆ®·Î ÁÙÀÓ */
    font-weight: 700; /* ÆùÆ® ¹«°Ô 700 */
    color: #ffffff; /* ÇÏ¾á»ö ±ÛÀÚ */
    margin-bottom: 20px;
}

.scroll-down {
    position: absolute;
    bottom: 100px; /* ÇÏ´Ü¿¡¼­ 40px À§·Î ¿Ã¸®±â */
    left: 50%;
    transform: translateX(-50%);
    animation: blink 3s infinite, moveDownUp 2s infinite;
    cursor: pointer; /* ¸¶¿ì½º¸¦ °¡Á®´Ù ´òÀ» ¶§ Ä¿¼­°¡ Æ÷ÀÎÅÍ·Î º¯È¯ */
    z-index: 3; /* ´Ù¸¥ ¿ä¼Òµé À§¿¡ Ç¥½ÃµÇµµ·Ï z-index ¼³Á¤ */
}

@keyframes blink {
    0% { opacity: 1; }
    50% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes moveDownUp {
    0% { transform: translateX(-50%) translateY(-10px); }
    50% { transform: translateX(-50%) translateY(0); }
    100% { transform: translateX(-50%) translateY(-10px); }
}

.scroll-down a img {
    width: 30px; /* È­»ìÇ¥ ÀÌ¹ÌÁö Å©±â Á¶Àý */
    height: auto;
}

main {
    padding: 40px 0;
    background-color: white;
}

main .container {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    padding: 20px;
}

main .container h1 {
    font-family: 'Pretendard Variable', Pretendard, sans-serif; /* ±Û²Ã ¼³Á¤ Ãß°¡ */
    font-size: 70px; 
    font-weight: 700; /* ÆùÆ® ¹«°Ô 700 */
    color: #000000; /* °ËÀº»ö ±ÛÀÚ */
    margin-top: 30px; /* margin-top 30px */
    margin-bottom: 30px; 
}

main .container h4 {
    font-family: 'Pretendard Variable', Pretendard, sans-serif; /* ±Û²Ã ¼³Á¤ Ãß°¡ */
    font-size: 35px; /* ±ÛÀÚ Å©±â 35px */
    font-weight: 400; /* ÆùÆ® ¹«°Ô 400 */
    color: #666666; /* È¸³¢°¡ µµ´Â °ËÀº»ö */
    margin-bottom: 20px;
}

.card-container {
    display: grid; /* Grid ·¹ÀÌ¾Æ¿ô »ç¿ë */
    gap: 20px; /* Ä«µå »çÀÌÀÇ °£°Ý */
    grid-template-columns: repeat(5, 1fr); /* ³× °³ÀÇ ¿­·Î ±¸¼º */
    margin-top: 20px;
    justify-content: center; /* Ä«µåµéÀ» Áß¾Ó¿¡ ¹èÄ¡ */
    margin-bottom: 50px;
}

.card {
    background: white;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 500px; /* Ä«µå ³ôÀÌ¸¦ Áõ°¡½ÃÄÑ ¼¼·Î·Î ±æ°Ô ¼³Á¤ */
    width: 300px; /* Ä«µå ³Êºñ¸¦ 300px·Î °íÁ¤ */
    position: relative; /* ÅØ½ºÆ®¸¦ ÀÌ¹ÌÁö À§¿¡ °ãÄ¡±â À§ÇØ Ãß°¡ */
    overflow: hidden; /* ÀÌ¹ÌÁö°¡ Ä«µå ¹ÛÀ¸·Î ³ª°¡Áö ¾Êµµ·Ï ¼³Á¤ */
}

.card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* ÀÌ¹ÌÁö¸¦ Ä«µå¿¡ ¸Â°Ô Ã¤¿ì±â */
    position: absolute; /* ÀÌ¹ÌÁö°¡ Ä«µå ¾È¿¡ °íÁ¤µÇµµ·Ï ¼³Á¤ */
    top: 0;
    left: 0;
    z-index: 0; /* ÀÌ¹ÌÁö°¡ ÅØ½ºÆ® µÚ¿¡ À§Ä¡ÇÏµµ·Ï ¼³Á¤ */
}

.card-text {
    position: relative;
    z-index: 1; /* ÅØ½ºÆ®°¡ ÀÌ¹ÌÁö À§¿¡ Ç¥½ÃµÇµµ·Ï ¼³Á¤ */
    color: white;
    padding: 20px;
    background: rgba(0, 0, 0, 0.5); /* ÅØ½ºÆ® ¹è°æ Åõ¸íµµ ¼³Á¤ */
    border-radius: 16px;
}

.card h2 {
    font-family: 'Pretendard Variable', Pretendard, sans-serif; /* ±Û²Ã ¼³Á¤ */
    font-size: 22px; /* ±ÛÀÚ Å©±â */
    font-weight: 600; /* ÆùÆ® ¹«°Ô */
    color: #ffffff; /* Èò»ö ±ÛÀÚ */
    margin-bottom: 10px;
}

.card h3 {
    font-family: 'Pretendard Variable', Pretendard, sans-serif; /* ±Û²Ã ¼³Á¤ */
    font-size: 16px; /* h3 Å©±â ¼³Á¤ */
    font-weight: 600; /* ÆùÆ® ¹«°Ô */
    color: #ffffff; /* Èò»ö ±ÛÀÚ */
    margin-bottom: 20px;
}

@media (max-width: 768px) {
    .card-container {
        grid-template-columns: 1fr; /* ÀÛÀº È­¸é¿¡¼­´Â Ä«µå°¡ ÇÑ ÁÙ·Î ¹èÄ¡µÇµµ·Ï ¼³Á¤ */
    }
}

.stats {
    position: relative; /* positionÀ» relative·Î ¼³Á¤ÇÏ¿© ÀÚ½Ä ¿ä¼Ò¸¦ Àý´ë À§Ä¡·Î ¹èÄ¡ °¡´É */
    background-color: #111;
    color: #fff;
    padding: 60px 20px;
    text-align: center;
    height: 100vh; /* overlay¿Í °°Àº ³ôÀÌ ¼³Á¤ */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Áß¾Ó ¹èÄ¡ */
    align-items: center; /* Áß¾Ó ¹èÄ¡ */
    background-size: cover; /* ¹è°æ ÀÌ¹ÌÁö Å©±â Á¶Á¤ */
    background-position: center; /* ¹è°æ ÀÌ¹ÌÁö À§Ä¡ Áß¾Ó */
    font-family: 'Pretendard Variable', Pretendard, sans-serif; /* ±Û²Ã ¼³Á¤ Ãß°¡ */
}

.stats img {
    position: absolute; /* ÀÌ¹ÌÁö¸¦ Àý´ë À§Ä¡·Î ¹èÄ¡ */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    opacity: 0.5; /* overlay È¿°ú¸¦ À§ÇØ Åõ¸íµµ ¼³Á¤ */
}

.stats-container {
    max-width: 1500px;
    margin: 0 auto;
    z-index: 1; /* ÅØ½ºÆ®°¡ ÀÌ¹ÌÁö À§¿¡ ¿Àµµ·Ï ¼³Á¤ */
    padding: 20px; /* ÄÁÅ×ÀÌ³Ê ³»ºÎ ¿©¹é Á¶Á¤ */
}

.stats h2 {
    font-family: 'Pretendard Variable', Pretendard, sans-serif;
    font-size: 40px; /* ±ÛÀÚ Å©±â 64px */
    margin-bottom: 20px;
    color: #ffffff; /* h2 ±ÛÀÚ »ö»ó Èò»ö */
}

.stats-grid {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 40px;
    max-width: 1500px; /* ÀüÃ¼ ³Êºñ Á¦ÇÑ (ÇÊ¿ä¿¡ µû¶ó Á¶Á¤) */
    margin-left: auto;
    margin-right: auto;
}

.stats-grid > div {
    flex: 0 1 22%;
    margin: 30px;
    min-width: 200px;
    text-align: center;
    margin: 15px; /* »óÇÏÁÂ¿ì ¿©¹é Ãß°¡ */
    display: flex;
    flex-direction: column;
    justify-content: center; /* ¼¼·Î Áß¾Ó Á¤·Ä */
    height: 120px; /* °íÁ¤ ³ôÀÌ ¼³Á¤ (ÇÊ¿ä¿¡ µû¶ó Á¶Á¤) */
}

.stats-label {
    font-weight: 500;
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 10px; /* label°ú value »çÀÌ °£°Ý */
}

.stats-value {
    display: flex;
    justify-content: center;
    align-items: baseline;
    font-size: 57px;
    font-weight: bold;
    line-height: 1;
    white-space: nowrap;
}

.stats-value span {
    margin-left: 5px; /* ±ÛÀÚ¿Í + ±âÈ£ »çÀÌÀÇ ¿©¹é ¼³Á¤ */
    display: inline-block;
}

.date {
    margin-top: 40px;
    font-size: 1em;
    color: #bbb;
}

/* Transition Section */
.transition {
    height: 100vh;
    background: linear-gradient(to bottom, transparent, black);
    opacity: 1;
    transition: opacity 2s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes fadeOut {
    from { opacity: 1; }
    to { opacity: 0; }
}

.transition.fade-in {
    animation: fadeIn 2s forwards;
}

.transition.fade-out {
    animation: fadeOut 2s forwards;
}

@media (max-width: 768px) {
    .stats-grid > div {
        flex: 0 1 45%; /* ÅÂºí¸´ Å©±â¿¡¼­´Â 2°³¾¿ ¹èÄ¡ */
    }
}

@media (max-width: 480px) {
    .stats-grid > div {
        flex: 0 1 100%; /* ¸ð¹ÙÀÏ Å©±â¿¡¼­´Â 1°³¾¿ ¹èÄ¡ */
    }
}

/* BASIC css end */

