:root {
    --brand-color: #103063;
    --accent-color: #00d2ff; /* 네이비와 대비되는 밝은 사이언을 포인트로 사용 */
    --text-white: #ffffff;
    --bg-dark: #050a1a; /* 깊이감 있는 다크 네이비 배경 */
}

* {
    cursor: none !important; /* 커스텀 커서를 위해 기본 커서 숨김 */
}

body {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
    background-color: var(--bg-dark);
    color: var(--text-white);
    overflow-x: hidden;
}

/* Custom Cursor */
.cursor {
    width: 20px;
    height: 20px;
    border: 2px solid var(--accent-color);
    border-radius: 50%;
    position: fixed;
    pointer-events: none;
    z-index: 9999;
    will-change: transform; /* Hardware acceleration */
    transform: translate(-50%, -50%); /* Center the cursor */
    transition: width 0.3s ease, height 0.3s ease, background 0.3s ease, border 0.3s ease;
}
.cursor.hovered {
    transform: scale(3);
    background: rgba(0, 210, 255, 0.2);
    border: none;
}

/* Marquee Text (무한 스크롤 텍스트) */
.marquee-container {
    overflow: hidden;
    white-space: nowrap;
    background: var(--brand-color);
    padding: 15px 0;
    border-top: 1px solid rgba(255,255,255,0.1);
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.marquee-content {
    display: inline-block;
    animation: marquee 20s linear infinite;
}
.marquee-text {
    font-size: 2rem;
    font-weight: 900;
    text-transform: uppercase;
    padding: 0 50px;
    color: rgba(255,255,255,0.3);
}
@keyframes marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* Glitch Effect on Hover */
.glitch-hover:hover {
    animation: glitch 0.3s cubic-bezier(.25, .46, .45, .94) both infinite;
}
@keyframes glitch {
    0% { transform: translate(0); }
    20% { transform: translate(-3px, 3px); }
    40% { transform: translate(-3px, -3px); }
    60% { transform: translate(3px, 3px); }
    80% { transform: translate(3px, -3px); }
    100% { transform: translate(0); }
}

/* Card Section Customization */
.page-background {
    background-attachment: fixed;
    background-blend-mode: multiply; /* 배경 이미지와 시그니처 컬러 혼합 */
    background-color: var(--brand-color);
}

.card {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    background: rgba(16, 48, 99, 0.4);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.1);
}

.card-inner::before {
    background: linear-gradient(to bottom, transparent, var(--brand-color));
}

/* Growth Pulse Road Map Icon */
.icon {
    box-shadow: 0 0 20px var(--accent-color);
    animation: pulse 2s infinite;
}

/* Magnetic Button Base */
.magnetic-btn {
    display: inline-block;
    transition: transform 0.2s ease-out;
}

/* Quick Menu Slide - Missing styles added back */
#quick-box {
    position: fixed;
    right: -320px;
    bottom: 100px;
    z-index: 999;
    transition: right 0.3s ease-out;
}
#quick-box.active {
    right: 0 !important;
}
#quick-btn {
    position: absolute;
    left: -50px; /* 너비에 맞춰 조정 */
    top: 0;
    width: 50px;
    height: 140px; /* 4글자가 넉넉히 들어갈 높이 */
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px 0 0 15px;
    writing-mode: vertical-rl;
    text-orientation: upright; /* 한글이 돌아가지 않고 똑바로 서게 함 */
    font-weight: 900;
    cursor: pointer;
    text-align: center;
    letter-spacing: -1px;
    font-size: 1.1rem;
    box-shadow: -5px 0 15px rgba(0,0,0,0.1);
}

/* Accordion Custom */
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
}
.accordion-content.open {
    max-height: 1000px;
}
