/* 공통 초기화 */
* { margin: 0; padding: 0; box-sizing: border-box; scroll-behavior: smooth; }
body { font-family: 'Noto Sans KR', sans-serif; background-color: #000; color: #fff; line-height: 1.6; }
.container { width: 95%; max-width: 600px; margin: 0 auto; text-align: center; }

/* 헤더 */
header { padding: 30px 0; background: #000; }
.cp-logo-img { width: 220px; height: auto; margin-bottom: 5px; }
.rider-title { font-size: 2.8rem; color: #fff; font-weight: 900; font-style: italic; letter-spacing: -2px; }

/* 히어로 */
.character-box { padding-top: 10px; margin-bottom: 15px; }
.panda-img-large { width: 280px; height: auto; display: inline-block; }
.hero { padding-bottom: 40px; }
.badge { display: inline-block; background: #00ff00; color: #000; padding: 6px 18px; border-radius: 5px; font-weight: bold; margin-bottom: 15px; }
.hero h1 { font-size: 2.5rem; line-height: 1.2; font-weight: 900; margin-bottom: 10px; }
.highlight { color: #00ff00; }
.subtitle { color: #ccc; font-size: 1.1rem; margin-bottom: 25px; }

/* 이동 버튼 */
.btn-scroll { 
    display: inline-block; background: #00ff00; color: #000; padding: 15px 40px; 
    border-radius: 50px; font-weight: 900; font-size: 1.2rem; text-decoration: none; 
    box-shadow: 0 0 20px rgba(0, 255, 0, 0.4); animation: bounce 2s infinite;
}
@keyframes bounce { 0%, 20%, 50%, 80%, 100% {transform: translateY(0);} 40% {transform: translateY(-10px);} 60% {transform: translateY(-5px);} }

/* 지역 섹션 */
.area-detail { padding: 40px 20px; background: #1a1a1a; border-radius: 30px; margin-bottom: 30px; border: 1px solid #333; }
.area-grid-clean { font-size: 1rem; color: #fff; margin-bottom: 25px; line-height: 2; font-weight: 700; }
.map-box { width: 100%; margin: 20px 0; border-radius: 15px; overflow: hidden; border: 2px solid #444; }
.map-img { width: 100%; height: auto; display: block; }

/* 수락률 강조 */
.stats-premium { margin-top: 20px; display: flex; justify-content: center; align-items: center; }
.stat-wrapper { display: flex; align-items: baseline; gap: 10px; }
.stat-label { font-size: 2rem; font-weight: 900; }
.stat-number { position: relative; display: inline-block; }
.stat-number .num { font-size: 3.5rem; font-weight: 900; color: #00ff00; position: relative; z-index: 2; }
.redline-img { position: absolute; left: 50%; bottom: 5px; transform: translateX(-50%); width: 120%; z-index: 1; opacity: 0.8; }

/* 프로모션 박스 & STEP */
.promo { padding: 20px 0; }
.promo-box { background: #e0e0e0; color: #000; padding: 30px 20px; border-radius: 15px; position: relative; margin-bottom: 15px; }
.promo-box .label { background: #00ff00; color: #000; padding: 3px 12px; font-weight: bold; border-radius: 3px; position: absolute; top: -15px; left: 50%; transform: translateX(-50%); }
.price { font-size: 1.8rem; font-weight: 900; color: #d00; margin: 10px 0; }
.notice { font-size: 0.8rem; color: #666; }
.step-box { 
    background: #00ff00; 
    color: #000; 
    padding: 20px; 
    border-radius: 10px; 
    font-weight: 900; 
    margin-bottom: 30px;
    text-align: center; /* 텍스트 중앙 정렬 */
}

.step-box p {
    margin: 5px 0; /* 위아래 간격 살짝 부여 */
    font-size: 1.1rem;
}
.step-item { background: #00ff00; color: #000; padding: 12px 15px; border-radius: 8px; font-weight: 900; font-size: 0.95rem; flex: 1; }
@media (max-width: 480px) { .step-box { flex-direction: column; } }

/* 수익 인증 2열 */
.income-proof { padding: 40px 0; }
.income-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }
.income-card { background: #111; padding: 20px 10px; border-radius: 15px; border: 1px solid #333; }
.income-card .type { font-size: 0.8rem; color: #888; display: block; }
.income-card .amount { color: #00ff00; font-size: 1.3rem; font-weight: 900; margin-top: 5px; }

/* 혜택 리스트 (중앙 정렬) */
.special-features { padding: 60px 0; background: #111; border-radius: 30px; margin-bottom: 30px; }
.feature-list { list-style: none; margin-top: 30px; padding: 0; text-align: center; }
.feature-list li { margin-bottom: 35px; display: flex; flex-direction: column; align-items: center; }
.feature-list li strong { font-size: 1.25rem; color: #00ff00; margin-bottom: 8px; }
.feature-list li p { color: #ccc; font-size: 0.95rem; max-width: 85%; line-height: 1.5; }

/* FAQ */
.faq { padding: 40px 20px; text-align: left; }
.faq h2 { text-align: center; margin-bottom: 30px; }
.faq-item { margin-bottom: 25px; border-bottom: 1px solid #222; padding-bottom: 15px; }
.faq-item strong { color: #00ff00; font-size: 1.1rem; }
.faq-item p { color: #999; margin-top: 8px; }

/* 지원 폼 */
.apply-section { padding: 50px 0; }
.apply-box { border: 2px solid #00ff00; padding: 40px 20px; border-radius: 30px; background: #0a0a0a; }
.contact-form { display: flex; flex-direction: column; gap: 15px; margin-top: 20px; }
.contact-form input { padding: 18px; border-radius: 10px; border: 2px solid #333; background: #222; color: #fff; font-size: 1.2rem; text-align: center; }
.btn-submit { background: #00ff00; color: #000; padding: 20px; border: none; border-radius: 10px; font-weight: 900; cursor: pointer; font-size: 1.4rem; }
.call-btn { display: block; font-size: 2.5rem; font-weight: 900; color: #00ff00; text-decoration: none; margin-top: 10px; }

footer { padding: 40px 0; color: #444; font-size: 0.85rem; }