/* =====================================================
   PlusCoach - CSS Variables & Base Styles
   ===================================================== */

:root {
    /* Primary Colors */
    --primary: #00D4AA;
    --primary-dark: #00B894;
    --primary-glow: rgba(0, 212, 170, 0.4);
    
    /* Accent Colors */
    --accent: #FF6B6B;
    --accent-light: #FF8E53;
    --yellow: #FBBF24;
    
    /* Dark Theme */
    --dark: #0A0A0F;
    --dark-light: #12121A;
    --dark-card: #1A1A25;
    --dark-card-hover: #1E1E2A;
    
    /* Neutrals */
    --gray: #8892A0;
    --gray-light: rgba(255, 255, 255, 0.7);
    --gray-dark: rgba(255, 255, 255, 0.4);
    --white: #FFFFFF;
    
    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #00D4AA 0%, #00B894 50%, #009688 100%);
    --gradient-accent: linear-gradient(135deg, #FF6B6B 0%, #FF8E53 100%);
    --gradient-dark: linear-gradient(145deg, #1E1E2A 0%, #16161F 100%);
    
    /* Shadows */
    --shadow-primary: 0 10px 40px rgba(0, 212, 170, 0.3);
    --shadow-primary-hover: 0 20px 50px rgba(0, 212, 170, 0.4);
    --shadow-card: 0 10px 30px rgba(0, 0, 0, 0.3);
    
    /* Border Radius */
    --radius-sm: 12px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-full: 50px;
    
    /* Transitions */
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.4s ease;
    
    /* Z-Index */
    --z-nav: 1000;
    --z-modal: 2000;
    --z-tooltip: 3000;
}

/* =====================================================
   Reset & Base
   ===================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 18px;
    scroll-behavior: smooth;
}

body {
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 1rem;
    background: var(--dark);
    color: var(--white);
    line-height: 1.8;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    font-family: inherit;
    cursor: pointer;
}

img {
    max-width: 100%;
    height: auto;
}

/* =====================================================
   Typography
   ===================================================== */

.section-label {
    display: inline-block;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--primary);
    margin-bottom: 40px;
}

.section-title {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(2rem, 4.5vw, 3rem);
    font-weight: 700;
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

/* =====================================================
   Utility Classes
   ===================================================== */

.text-primary { color: var(--primary); }
.text-accent { color: var(--accent); }
.text-gray { color: var(--gray); }
.text-white { color: var(--white); }

.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }

.text-center { text-align: center; }
.text-left { text-align: left; }

/* =====================================================
   Scroll Animation
   ===================================================== */

.scroll-animate {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.scroll-animate.visible {
    opacity: 1;
    transform: translateY(0);
}
