@charset "utf-8";
/* @import url(./top_news10_files/pretendard.css); */
@import url('https://fonts.googleapis.com/css2?family=Playwrite+AU+VIC:wght@100..400&display=swap');


* {position: relative; box-sizing: border-box; line-height: 1.2em; margin: 0; padding: 0;}
html {scroll-behavior: smooth;}
body {font-size: 16px; font-family: 'Pretendard'; font-weight: 300; color: #FFF; background-color: #000;}
img {display: block; width: 100%;}
a {font-size: inherit; font-family: inherit; font-weight: inherit; color: inherit; text-decoration: none;}

/* 비활성 메뉴 상태 (menu-off) */
nav .menu a.menu-off {color: rgba(255, 255, 255, 0.6); opacity: 0.85; cursor: default; pointer-events: auto;
    /* hover 되게 유지 */
    transition: color .18s ease, opacity .18s ease, transform .15s ease;
}
nav .menu a.menu-off:hover {color: rgba(255, 255, 255, 0.78); transform: translateY(-1px);}
nav .menu a.menu-off .menu-a-line {display: block;  width: 0; background: rgba(255,255,255,0.25);}
nav .menu a.menu-off:hover .menu-a-line {width: 100%;}

/* JS 툴팁 */
.tooltip {position: absolute; background: #42e0e7; color: #000; padding: 4px 8px; border-radius: 4px; font-size: 12px; white-space: nowrap; pointer-events: none; z-index: 9999; opacity: 0; transform: translateY(6px); transition: opacity .25s ease, transform .25s ease;}
.tooltip.show { opacity: 1; transform: translateY(0);}
nav {position: fixed; top: 0; left: 0; width: 100%; height: 72px; z-index: 90; display: flex; justify-content: space-between; align-items: center; padding: 0 32px;
     transition: background-color 0.3s;
}
nav.black {background-color: rgba(0, 0, 0, 0.6); backdrop-filter: blur(10px);}
nav .logo {cursor: pointer; width: auto; height: 28px;}
nav .menu {display: flex; gap: 32px;}
nav .menu a {font-size: 20px; font-weight: 500;}
nav .menu a:hover {color: #42e0e7;}
.menu-a-line {position: absolute; width: 0px; height: 1px;  background: #42e0e7; bottom: 0px; left: 50%; transform: translate(-50%, 2px); transition: width 0.3s ease;}
nav .menu a:hover .menu-a-line {width: 100%;}
nav .menu a.menu-on {color: #42e0e7; opacity: 1; cursor: default;}

/* hover 시 흔들림 방지 */
nav .menu a.menu-on:hover {transform: none;}

/* 밑줄 항상 노출 */
nav .menu a.menu-on .menu-a-line {width: 100%; background: #42e0e7;}

.btn-mobile-menu {display: none; width: 72px; height: 72px; cursor: pointer; border: 0; background-color: transparent; background-image: url(../images/menu.svg); background-repeat: no-repeat; background-size: 55%; background-position: center;}
.btn-mobile-menu.close {background-image: url(../images/close.svg);}
section {padding: 72px 0px;}
.section-01 {display: flex; justify-content: center; align-items: center; width: 100%; height: 50vh; background-size: cover;}
.section-01 .text h1 .text02 {font-size: 65px; font-weight: 700;  letter-spacing: -0.05em; text-align: center; text-shadow: 0px 2px #000; 
    animation-name: h1IN; 
    animation-delay: 0.3s;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}
.section-01::before {content: ''; position: absolute; width: 100%; height: 100%; top: 0; left: 0; background-color: rgba(0, 0, 0, 0.7);}
.section-01 .text {display: flex; flex-direction: column; align-items: center; z-index: 1;}
.section-01 .text span i::before {content: ""; clear: both; z-index: -1; position: absolute; top: 68%; left: 0px; width: 100%; height: 20%;
    background: linear-gradient(90deg, rgb(12 179 188) 0%, rgb(106 208 214) 32.5%, rgb(110 138 199) 63.5%, rgb(99 87 151) 100%);
}
.section-01 .text span i {font-size: 26px; font-family: "Playwrite AU VIC", cursive; font-style: normal; text-align: center; text-shadow: 0px 2px #00000096; 
    animation-name: spanIN; 
    animation-delay: 1.4s;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes spanIN {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.section-01 .text h1 {font-size: 85px; font-weight: 600; letter-spacing: -0.05em; margin-bottom: 8px; text-align: center; text-shadow: 0px 2px #000; 
    animation-name: h1IN;
    animation-delay: 0.3s;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes h1IN {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.section-01 .bg {position: absolute; width: 100%; height: 100%; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1; overflow: hidden; opacity: 0.3; display: flex; justify-content: center; align-items: center;}
.section-02 {height: 640px; background-size: cover; background-position: center; padding: 72px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 16px;}
.section-02-text {font-size: 24px; font-weight: 500; max-width: 800px; color: #dfdfdf; text-align: left; line-height: 1.5em; 
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    word-break: keep-all;
    display: -webkit-box;
}
.section-02-title i {font-size: 80px; letter-spacing: -0.03em; display: block; color: #42e0e7; font-weight: 700;}
.section-02-title i::after {content: ''; position: absolute; background-image: url(../images/ico_bl.png); background-repeat: no-repeat; top: 21px; left: 100px; width: 140px; height: 56px;}
.section-02-title h2 {color: #42e0e7; font-weight: 700; font-size: 52px; max-width: 800px}
.section-02::before {content: ''; position: absolute; width: 100%; height: 100%; top: 0; left: 0; background-color: rgba(0, 0, 0, 0.7); z-index: 1;}
.section-02::before {content: ''; position: absolute; width: 100%; height: 100%; top: 0; left: 0; background-color: rgba(0, 0, 0, 0.7); z-index: 1;}
.section-02-title,.section-02-text { z-index: 2;}
.section-02-title {display: flex; flex-direction: column; gap: 8px; opacity: 0;}
.section-02.in .section-02-title,.section-02.in .section-02-text {
    animation-name: sectionIN;
    animation-duration: 2s;
    animation-delay: 0.3s;
    animation-fill-mode: forwards;
}

@media (min-width: 1630px) {
    .section-02 {
        padding-left: 72px;
    }
}

@keyframes sectionIN {
    from {
        transform: translateY(60px);
        opacity: 0;
    }

    to {
        transform: translateY(0px);
        opacity: 1;
    }
}

.section-03 {background: #000; padding: 0;}
.section-03 i {font-size: 80px; letter-spacing: -0.03em; display: block;}
.section-03 i::after {content: ''; position: absolute; background-image: url(../images/ico_bl.png); background-repeat: no-repeat; top: 21px; left: 110px; width: 140px; height: 56px;}
.section-03 dl {height: 640px; background-size: cover; background-position: center; display: flex; flex-direction: column; justify-content: center; padding-left: 72px;}

.section-03 dt,.section-03 dd {opacity: 0; transform: translateY(60px); transition: all 1s;}
.section-03 dt.in,.section-03 dd.in {opacity: 1; transform: translateY(0);}
.section-03-01,.section-03-02,.section-03-03 {padding-left: 0; padding-right: 72px;align-items: flex-end;}
.section-03 dt {font-size: 40px; font-weight: 700; color: #42e0e7; letter-spacing: -0.05em; width: 100%; max-width: 500px; text-align: left; 
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}
.section-03 dd {font-size: 20px; line-height: 1.5em; word-break: keep-all; margin-top: 16px; width: 100%; display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    font-weight: 500;
    color: #dfdfdf;
    max-width: 500px;
    letter-spacing: -0.02em;
}
.section-03 dd + dt {margin-top: 48px;}
.section-03 dl::before {content: ''; position: absolute; inset: 0; background-color: rgba(0, 0, 0, 0.7);}
.section-03 dl.align-right {align-items: flex-end; padding-right: 72px;}
/*.section-01{background-image: url(../images/2025/top10_header_dome.jpg);}
.section-02{background-image: url(../images/2025/thum_930_01.jpg);}
 .section-03-01 {background-image: url(../images/2025/thum_930_04.jpg);}
.section-03-02 {background-image: url(../images/2025/thum_930_05.jpg);}
.section-03-03 {background-image: url(../images/2025/thum_930_06.jpg);}
.section-03-04 {background-image: url(../images/2025/thum_930_07.jpg);}
.section-03-05 {background-image: url(../images/2025/thum_930_08.jpg);}
.section-03-06 {background-image: url(../images/2025/thum_930_09.jpg);}
.section-03-07 {background-image: url(../images/2025/thum_930_10.jpg);}
.section-03-08 {background-image: url(../images/2025/thum_930_03.jpg);}
.section-03-09 {background-image: url(../images/2025/thum_930_02.jpg);} */

footer {display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 24px 16px; font-size:12px;}
footer div:nth-child(1) {display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px;}
footer strong {font-weight: 500;}
.menu-mobile {display: none; position: fixed; width: 100%; height: auto; top: 72px; left: 0px; z-index: 90; background-color: rgba(0, 0, 0, 0.7);  backdrop-filter: blur(10px); padding: 12px 0px;}
.menu-mobile a {
    display: block;
    font-size: 20px;
    font-weight: 500;
    padding: 12px 24px;
}

@media (max-width: 1080px) {

    nav {padding: 0 16px;}
    .tooltip {display: none !important;}
    nav .menu {display: none;}

    /* 모바일 메뉴 기본 디자인 (활성 상태) */
    .menu-mobile a {color: #fff; opacity: 1; cursor: pointer;}
    /* 모바일에서 비활성 (menu-off) 인 경우만 따로 처리 */
    .menu-mobile a.menu-off {color: rgba(255, 255, 255, 0.5); opacity: 0.6;  cursor: default;}
    .btn-mobile-menu {display: block;}
    .section-01 .text h1 {font-size: 58px; display: block;}
    .section-01 .text span i {font-size: 20px;}
    .section-01 .text h1 .text02 {font-size: 43px}
    .section-01 .text span {font-size: 28px;}
    .section-02-title i {font-size: 46px;}
    .section-02-title i::after {top: 16px; left: 60px; background-size: 50%;}
    .section-02-title h2 {font-size: 32px; line-height: 40px;}
    .section-02-text {font-size: 18px; -webkit-line-clamp: 2;}
    .section-03 dt {font-size: 32px; line-height: 1em;}
    .section-03 dd {-webkit-line-clamp: 2; font-size: 18px;}
    .section-03 i {font-size: 46px;}
    .section-03 i::after {top: 16px; left: 62px; background-size: 50%}
}

@media (max-width: 720px) {
    .section-01 .text h1 .text02 {display: block;}
    .section-01 .text span i {font-size: 36px; display: none;}
    .section-02 {padding: 36px; gap: 16px; align-items: center;}
    .section-02-title {width:100%;}
    .section-02-title h2 {font-size: 32px; line-height: 40px;}
    .section-02-text {font-size: 18px; text-align: left;}
    .section-03 dl {padding-left: 0; height: 460px; min-height: 460px; padding: 80px 32px; padding-top: calc(80px + 24px); align-items: flex-start;}
    .section-03 dd {font-size: 18px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        font-weight: 500;
        color: #dfdfdf;
        max-width: 500px;
        letter-spacing: -0.02em;
    }
    .section-03 i {font-size: 46px;}
    .section-03 i::after {top: 16px; left: 62px;  background-size: 50%}
    footer div {text-align: center;}
}

@media (max-width: 520px) {
    .section-02-text {-webkit-line-clamp: 2;}
    .section-01 {padding: 36px;}
    .section-01 .text h1 {font-size: 43px;}
    .section-01 .text span i {font-size: 24px; display: none;}
    nav .logo {height: 24px;}
    .section-02 {height: 460px;}
    .section-02-title h2 {font-size: 32px; line-height: 40px;}
    .section-02-text {font-size: 18px;}
    .section-03 dl {height: 460px;}
    .section-03 dd {-webkit-line-clamp: 2; font-size: 18px;}
    .section-03 i {font-size: 46px;}
    .section-03 i::after {top: 16px; left: 62px; background-size: 50%}
    .section-02-text {-webkit-line-clamp: 2;}
}

@media (max-width: 290px) {
    section {height: auto !important; min-height: 70vh;}
}