:root {
    --navy: #001F3F;
}

.navy-text { color: var(--navy); }
.navy-bg { background-color: var(--navy); }

/* 스크롤 애니메이션 클래스 */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.9s ease-out;
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* 시간차 지연 등장 */
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }

/* 이미지 줌 효과 */
.img-box {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 1.5rem;
    overflow: hidden;
    background: #f0f0f0;
}
.zoom-img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.gallery-item:hover .zoom-img {
    transform: scale(1.15);
}

/* 네브바 및 버튼 스타일 */
.nav-link { transition: 0.3s; }
.nav-link:hover { color: var(--navy); font-weight: bold; }

.toggle-btn { padding: 4px 14px; border-radius: 999px; transition: 0.3s; }
.toggle-btn.active { background: white; color: var(--navy); box-shadow: 0 2px 5px rgba(0,0,0,0.1); }

.btn-navy { background: var(--navy); color: white; border-radius: 999px; font-weight: bold; display: inline-block; transition: 0.3s; }
.btn-navy:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,31,63,0.2); }

.cta-btn-white { background: white; color: var(--navy); padding: 1.2rem 3.5rem; border-radius: 999px; font-weight: bold; }
.cta-btn-yellow { background: #FEE500; color: #3C1E1E; padding: 1.2rem 3.5rem; border-radius: 999px; font-weight: bold; }

/* 타이틀 장식 */
.section-title { font-size: 2.5rem; font-weight: 800; text-align: center; margin-bottom: 5rem; letter-spacing: -1px; }

/* 히어로 배경 구체 */
.shape-circle-1 {
    position: absolute; width: 600px; height: 600px;
    background: var(--navy); opacity: 0.03; border-radius: 50%;
    top: -100px; right: -200px; z-index: 0;
}

/* 카드 공통 */
.info-card { background: white; padding: 2.5rem; border-radius: 1.5rem; border-top: 5px solid var(--navy); box-shadow: 0 10px 30px rgba(0,0,0,0.03); }