/* ===================================
   반응형 타이포그래피
   창 크기에 따라 글자 크기 자동 조정
   =================================== */

/* 제목 (h1-h6) 반응형 크기 */
h1, .text-5xl, .text-6xl {
    font-size: clamp(2rem, 4vw, 3.75rem) !important;
    line-height: 1.2 !important;
}

h2, .text-4xl {
    font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
    line-height: 1.3 !important;
}

h3, .text-3xl {
    font-size: clamp(1.5rem, 2.5vw, 1.875rem) !important;
    line-height: 1.3 !important;
}

h4, .text-2xl {
    font-size: clamp(1.25rem, 2vw, 1.5rem) !important;
    line-height: 1.4 !important;
}

h5, .text-xl {
    font-size: clamp(1.125rem, 1.75vw, 1.25rem) !important;
    line-height: 1.5 !important;
}

h6, .text-lg {
    font-size: clamp(1rem, 1.5vw, 1.125rem) !important;
    line-height: 1.5 !important;
}

/* 본문 텍스트 반응형 크기 */
p, .text-base {
    font-size: clamp(0.875rem, 1.25vw, 1rem) !important;
    line-height: 1.7 !important;
}

.text-sm {
    font-size: clamp(0.75rem, 1.1vw, 0.875rem) !important;
}

.text-xs {
    font-size: clamp(0.625rem, 1vw, 0.75rem) !important;
}

/* 특정 섹션 최적화 */
.hero-title {
    font-size: clamp(2.5rem, 5vw, 4rem) !important;
}

.section-title {
    font-size: clamp(2rem, 4vw, 3rem) !important;
}

.card-title {
    font-size: clamp(1.25rem, 2vw, 1.5rem) !important;
}

/* 모바일 최적화 */
@media (max-width: 640px) {
    body {
        font-size: clamp(13px, 3.5vw, 15px) !important;
    }
    
    /* 작은 화면에서 더 작은 최소 크기 */
    h1, .text-5xl, .text-6xl {
        font-size: clamp(1.75rem, 7vw, 2.5rem) !important;
    }
    
    h2, .text-4xl {
        font-size: clamp(1.5rem, 6vw, 2rem) !important;
    }
    
    h3, .text-3xl {
        font-size: clamp(1.25rem, 5vw, 1.75rem) !important;
    }
}
