/* 페이지 섹션 (헤더 아래 여백) */
.page-section { padding: 120px 0 80px; min-height: calc(100vh - 80px); }
.page-desc { font-size: 16px; color: var(--text-light); margin-top: 12px; margin-bottom: 32px; }

/* 페이지 공통 히어로 */
.page-hero {
    padding: 140px 0 80px;
    background: linear-gradient(135deg, var(--bg) 0%, #EBF3FE 100%); text-align: center;
}
.page-hero h1 { font-size: clamp(32px, 4vw, 48px); font-weight: 800; letter-spacing: -0.03em; }
.page-hero p { font-size: 18px; color: var(--text-light); margin-top: 16px; line-height: 1.6; }

/* 그리드 레이아웃 */
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }

/* 아이콘 박스 */
.icon-box {
    width: 52px; height: 52px; display: flex; align-items: center; justify-content: center;
    border-radius: var(--radius); margin-bottom: 20px;
}
.icon-box-primary { background: linear-gradient(135deg, var(--primary), var(--accent)); color: white; }
.icon-box-green { background: linear-gradient(135deg, var(--secondary), #27AE60); color: white; }
.icon-box-light { background: rgba(27,77,142,0.06); color: var(--primary); }

/* 태그/뱃지 */
.tag { display: inline-block; padding: 4px 12px; border-radius: 100px; font-size: 12px; font-weight: 600; }
.tag-mind { background: rgba(27,77,142,0.08); color: var(--primary); }
.tag-body { background: rgba(46,204,113,0.08); color: var(--secondary); }
.tag-life { background: rgba(52,152,219,0.08); color: var(--accent); }

@media (max-width: 1024px) { .grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .grid-2, .grid-3 { grid-template-columns: 1fr; } .page-hero { padding: 120px 0 60px; } }
@media (max-width: 640px) { .grid-4 { grid-template-columns: 1fr; } }
