@charset "UTF-8";

* { 
    font-family: 'Pretendard', sans-serif; 
    -webkit-tap-highlight-color: transparent; 
    letter-spacing: -0.025em;
    -webkit-font-smoothing: antialiased;
}
body { background-color: #ffffff; color: #334155; }

/* 로고 전용 폰트 및 그라데이션 */
.logo-text { font-family: 'Black Han Sans', sans-serif; }
.grad-cosmic { 
    background: linear-gradient(135deg, #5A20FF, #FF2A5F); 
    -webkit-background-clip: text; 
    background-clip: text;
    -webkit-text-fill-color: transparent; 
}

/* v1.6 Master Rule: Shadow-Free */
.no-shadow { box-shadow: none !important; }

.hide-scroll::-webkit-scrollbar { display: none; }
.hide-scroll { -ms-overflow-style: none; scrollbar-width: none; }

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;  
    overflow: hidden;
    line-clamp: 2;
}

/* 커서 효과: 빨간색 얇은 스타일 */
#hero-slogan::after {
    content: '';
    display: inline-block;
    width: 2px;
    height: 0.8em;
    background-color: #FF2A5F;
    margin-left: 4px;
    vertical-align: middle;
    animation: blink 1s infinite;
}
@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

/* 리퍼럴 팝업용 */
.modal-blur { backdrop-filter: blur(8px); }

/* 모바일 하단 CTA 애니메이션 */
@keyframes subtle-bob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}
.animate-subtle-bob {
    animation: subtle-bob 2s ease-in-out infinite;
}

@keyframes flash-lightning {
    0%, 100% { fill: #ffffff; color: #ffffff; }
    33% { fill: #FF2A5F; color: #FF2A5F; }
    66% { fill: #FEE500; color: #FEE500; }
}
.animate-flash-lightning {
    animation: flash-lightning 1.5s linear infinite;
}
